问题原因@State监听对象等复杂类型时监听的是其内存中的引用地址,而非对象的值,直接通过this.obj.xxx = ‘XXX’ 修改时其内存中对象引用地址未发生改变。因此@State监听不到这次改变未触发UI更新。解决措施可以通过@Observed和@ObjectLink进行数据管理。参考链接Observed和ObjectLink进行数据管理
问题原因
@State监听对象等复杂类型时监听的是其内存中的引用地址,而非对象的值,直接通过this.obj.xxx = ‘XXX’ 修改时其内存中对象引用地址未发生改变。因此@State监听不到这次改变未触发UI更新。
解决措施
可以通过@Observed和@ObjectLink进行数据管理。
参考链接
Observed和ObjectLink进行数据管理