OpenHarmony开发者论坛

标题: 在ArkTS开发过程中使用@State装饰HashMap,HashMap中发生的变化似乎并不能被观测到? [打印本页]

作者: linyu    时间: 2024-3-13 11:05
标题: 在ArkTS开发过程中使用@State装饰HashMap,HashMap中发生的变化似乎并不能被观测到?
【问题描述】
问题现象和发生的背景

我需要显示一个List,用户进行长按选中,选中时的ListItem要展示不同的UI,所以我使用HashMap来统计选中的Item,在build函数中判断hashmap.hasKey()来处理不同的渲染逻辑

相关的代码,截图,日志信息

(, 下载次数: 14) (, 下载次数: 9) (, 下载次数: 15)

我尝试过的解决方法和结果

尝试换成Map,直接就crash了,hashMap又检测不到变化



【运行环境】
硬件:开发者手机
DevEvoStudio版本:4.0
SDK版本:10

作者: linyu    时间: 2024-3-13 14:14
目前粗浅的解决方案是:重新构造一个hashMap,然后进行深拷贝,然后对this.selectNotes重新赋值,这样可以触发重新渲染,但是感觉性能就很烂。。。
作者: s_hao    时间: 2024-3-18 14:46
是的,不过目前目前@State不支持HashMap观测,后续版本可能会有




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5