如何实现Class单个属性改变 自动触发页面刷新
如何实现Class单个属性改变 自动触发页面刷新
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
嵌套Class的属性变化无法触发UI渲染
682浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为多层嵌套类实现属性变化UI自动刷新?
433浏览 • 1回复 待解决
HarmonyOS @State修饰的Array<Object>修改对象的属性,单个item的页面数据没刷新。
325浏览 • 1回复 待解决
HarmonyOS 数据改变未刷新页面
990浏览 • 0回复 待解决
HarmonyOS class里面定义的变量如何动态刷新page页面数据
708浏览 • 1回复 待解决
HarmonyOS @BuilderParam 中变量变化,如何触发页面刷新
231浏览 • 1回复 待解决
eTS中能实现对单个ListItem长按触发的效果吗?
5084浏览 • 1回复 待解决
鸿蒙页面检测不到数据发生改变的刷新问题,能否强制刷新
10074浏览 • 1回复 待解决
HarmonyOS 非UI类中改变State装饰属性,无法触发UI渲染
602浏览 • 1回复 待解决
TS UI中能实现对单个ListItem长按触发的效果吗?
7278浏览 • 1回复 已解决
HarmonyOS ObjectLink修饰符对象的属性改变不能引起UI刷新
791浏览 • 1回复 待解决
HarmonyOS Record或者Map保存的数据改变,页面没有刷新
182浏览 • 1回复 待解决
HarmonyOS 为什么@Link的属性变更不会触发UI刷新?
797浏览 • 1回复 待解决
HarmonyOS ArkTS的class中如何动态的改变值
211浏览 • 1回复 待解决
HarmonyOS @State修饰@observed装饰的对象, 对象里的数组改变, 不会触发ui刷新
382浏览 • 1回复 待解决
HarmonyOS HashMap中放入数组,数组数据发生改变时如增加或者删除元素,如何触发UI刷新
256浏览 • 1回复 待解决
Canvas如何触发刷新重复绘制?
1260浏览 • 1回复 待解决
HarmonyOS ForEach数据源属性修改,页面不刷新
333浏览 • 1回复 待解决
class二次刷新渲染数组
1116浏览 • 1回复 待解决
鸿蒙中JS页面组件属性值修改后,页面没有刷新
4113浏览 • 0回复 待解决
HarmonyOS 除了在页面里,普通的class里如何监听appstorage里的属性变化
329浏览 • 1回复 待解决
HarmonyOS 另一个列表改变子属性使列表未能刷新的问题
154浏览 • 1回复 待解决
HarmonyOS class添加@Observed,如何通过@Watch只监听class内某个属性的变化
261浏览 • 1回复 待解决
ForEach数组发生改变。UI没刷新
1174浏览 • 1回复 待解决
UI预览不会自动刷新, 且刷新较慢
1251浏览 • 1回复 待解决
1.首先查找系统提供的API,发现系统提供了一个@Observed类装饰器可以拿来用。
2.参考系统提供的API,直接给SongItemData增加一个Observed装饰器,如图:
3.后来发现这样直接加的话,一旦属性有改变,会刷新SongItemData所有的属性绑定的页面,太耗性能,我们的目标是某个属性改变,刷新某个属性绑定的页面,而不是所有属性。对上面进行了改版,新增了一个有Observed修改的属性类,可以完美实现针对属性改变刷新对应的页面,如图1,图2:
4.item页面使用的时候需要使用@ObjectLink的变量接收下,然后在页面上使用,如图:
5.最后DownloadSongsController持有数据列表songList<SongItemData>,仅需要刷新SongItemData中的ObservedBoolean属性就可以了,页面也会跟着变化,如下图:
总结:这里介绍了系统API中的@Observed类装饰器在具体业务中的使用。