如何实现Class单个属性改变 自动触发页面刷新
如何实现Class单个属性改变 自动触发页面刷新
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
嵌套Class的属性变化无法触发UI渲染
319浏览 • 1回复 待解决
HarmonyOS @State修饰的Array<Object>修改对象的属性,单个item的页面数据没刷新。
30浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为多层嵌套类实现属性变化UI自动刷新?
123浏览 • 1回复 待解决
HarmonyOS 数据改变未刷新页面
732浏览 • 0回复 待解决
HarmonyOS class里面定义的变量如何动态刷新page页面数据
492浏览 • 1回复 待解决
鸿蒙页面检测不到数据发生改变的刷新问题,能否强制刷新
9775浏览 • 1回复 待解决
HarmonyOS @BuilderParam 中变量变化,如何触发页面刷新
19浏览 • 1回复 待解决
eTS中能实现对单个ListItem长按触发的效果吗?
4756浏览 • 1回复 待解决
HarmonyOS 非UI类中改变State装饰属性,无法触发UI渲染
56浏览 • 1回复 待解决
HarmonyOS ObjectLink修饰符对象的属性改变不能引起UI刷新
499浏览 • 1回复 待解决
TS UI中能实现对单个ListItem长按触发的效果吗?
7164浏览 • 1回复 已解决
HarmonyOS 为什么@Link的属性变更不会触发UI刷新?
387浏览 • 1回复 待解决
HarmonyOS @State修饰@observed装饰的对象, 对象里的数组改变, 不会触发ui刷新
17浏览 • 1回复 待解决
HarmonyOS HashMap中放入数组,数组数据发生改变时如增加或者删除元素,如何触发UI刷新
60浏览 • 1回复 待解决
class二次刷新渲染数组
748浏览 • 1回复 待解决
鸿蒙中JS页面组件属性值修改后,页面没有刷新
3786浏览 • 0回复 待解决
Canvas如何触发刷新重复绘制?
982浏览 • 1回复 待解决
ForEach数组发生改变。UI没刷新
603浏览 • 1回复 待解决
HarmonyOS 除了在页面里,普通的class里如何监听appstorage里的属性变化
4浏览 • 1回复 待解决
UI预览不会自动刷新, 且刷新较慢
695浏览 • 1回复 待解决
HarmonyOS 单个页面防截屏问题
11浏览 • 1回复 待解决
#鸿蒙学习大百科#在继承类中,如何才能使属性的变化触发UI刷新?
229浏览 • 1回复 待解决
#鸿蒙学习大百科#嵌套类中的属性如何才能具有触发UI刷新的能力?
222浏览 • 1回复 待解决
数组中元素变更如何触发刷新list?
403浏览 • 1回复 待解决
对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,第二层的属性变化如何观察
343浏览 • 1回复 待解决
1.首先查找系统提供的API,发现系统提供了一个@Observed类装饰器可以拿来用。
2.参考系统提供的API,直接给SongItemData增加一个Observed装饰器,如图:
3.后来发现这样直接加的话,一旦属性有改变,会刷新SongItemData所有的属性绑定的页面,太耗性能,我们的目标是某个属性改变,刷新某个属性绑定的页面,而不是所有属性。对上面进行了改版,新增了一个有Observed修改的属性类,可以完美实现针对属性改变刷新对应的页面,如图1,图2:
4.item页面使用的时候需要使用@ObjectLink的变量接收下,然后在页面上使用,如图:
5.最后DownloadSongsController持有数据列表songList<SongItemData>,仅需要刷新SongItemData中的ObservedBoolean属性就可以了,页面也会跟着变化,如下图:
总结:这里介绍了系统API中的@Observed类装饰器在具体业务中的使用。