HarmonyOS 如何实现根据数组元素对象属性的变化同步更新UI
@Observed
class WindowStatus {
viewType: number = 0;
}
@Component
export struct TestPage {
@State windowStatusArr: WindowStatus[] = [
new WindowStatus(),
new WindowStatus(),
new WindowStatus(),
new WindowStatus()
]
build() {
Column() {
Button('change view type')
.onClick(() => {
this.windowStatusArr[0].viewType = 1;
})
if (this.windowStatusArr[0].viewType == 0) {
Text('ViewType 0')
} else if (this.windowStatusArr[0].viewType == 1) {
Text('ViewType 1')
}
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
在以上代码中点击按钮后更改viewType,但是UI并没有刷新,要便捷的实现该业务场景,应该如何实现?
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 如何监听数组对象中元素属性的变化
951浏览 • 1回复 待解决
HarmonyOS 如何监听数组元素属性的变化?
1371浏览 • 1回复 待解决
如何监听数组内对象属性变化
2955浏览 • 1回复 待解决
HarmonyOS @Observed装饰的类,构造了对象数组,那这个数组中对象的属性变化之后,能引起视图的更新吗
1785浏览 • 1回复 待解决
HarmonyOS @Watch 如何检测数组内元素变化
964浏览 • 1回复 待解决
HarmonyOS 对象A数组,对象A中又嵌套一个对象B数组,修改B中的属性UI,不刷新
1254浏览 • 1回复 待解决
HarmonyOS 对象数组在@state修饰时,对象属性变化界面不刷新的解决办法
731浏览 • 1回复 待解决
HarmonyOS @Observed修饰的class,当内部属性变化时UI不更新
680浏览 • 1回复 待解决
HarmonyOS 如何根据条件设置UI组件的属性
486浏览 • 1回复 待解决
HarmonyOS 数组中嵌套对象的属性值发生变化,@Watch监听不到数组的变化,这个要怎么办
658浏览 • 1回复 待解决
HarmonyOS @State标注的二维数组,当元素变更后,选中状态ui未更新
825浏览 • 1回复 待解决
HarmonyOS 对象内数组内对象属性的修改问题
630浏览 • 1回复 待解决
HarmonyOS 对象数组在使用@Observed和@ObjectLink驱动子组件UI更新时的问题
922浏览 • 1回复 待解决
HarmonyOS 嵌套数组元素的UI刷新方案
902浏览 • 1回复 待解决
HarmonyOS 数组子属性修改怎么更新显示
603浏览 • 1回复 待解决
数组列表如何实现数据的双向同步?
1070浏览 • 1回复 待解决
HarmonyOS 点击list的item,修改当前item的属性状态值List根据属性值变化刷新UI
900浏览 • 1回复 待解决
HarmonyOS JSVM缺少获取数组元素设置数组元素的接口
357浏览 • 1回复 待解决
HarmonyOS 关于数组包裹对象中更新组件问题
590浏览 • 1回复 待解决
HarmonyOS 请问如何根据组件id获取对应的UI组件对象?
1870浏览 • 1回复 待解决
HarmonyOS viewModel中获取数组数据,怎么更新ui
477浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中实现多层嵌套类对象属性变化的监听?
952浏览 • 1回复 待解决
嵌套Class的属性变化无法触发UI渲染
900浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为多层嵌套类实现属性变化UI自动刷新?
799浏览 • 1回复 待解决
HarmonyOS @State修饰的数组内部的值变化了,怎么刷新UI?
1288浏览 • 1回复 待解决
下方demo使用第三方库reflect-metadata和class-transformer,安装方法:
可同时用@Observed和@ObjectLink,参考示例如下: