HarmonyOS @State刷新不了数组里面包含类的字段刷新UI
@Entry
@Component
struct test{
@State baseMarkerData: Array<BeanMarkLayer> = [];
this.baseMarkerData.push(new BeanMarkLayer($r('app.media.personnel_default'), $r('app.media.personnel_select'),
"现场人员", false));
this.baseMarkerData.push(new BeanMarkLayer($r('app.media.monitor_default'), $r('app.media.monitor_select'),
"视频监控", false));
this.baseMarkerData.push(new BeanMarkLayer($r('app.media.car_default'), $r('app.media.car_select'), "救援车辆",
false));
@Builder
ItemMapMarkerLayer(item: BeanMarkLayer, isBold: boolean) {
Column() {
Image(item.isSelect ? item.imageSelect : item.imageNormal)
.width(36)
.height(36)
.borderRadius(18)
.onClick(() => {
item.isSelect = !item.isSelect
})
Text(item.markName)
.fontSize(12)
.fontColor('#333333')
.margin({ top: 5 })
.fontWeight(isBold ? FontWeight.Bold : FontWeight.Normal)
}
.width('auto')
.height('auto')
}
build() {
Row() {
ForEach(this.baseMarkerData, (item: BeanMarkLayer, index) => {
this.ItemMapMarkerLayer(item, true)
})
}
.justifyContent(FlexAlign.SpaceAround)
.width('100%')
.height('auto')
.margin({ top: 10, bottom: 10 })
.padding({ left: 10, right: 10 })
}
}
点击状态是想发生变化但是测试点击好像没变化,原因是什么?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS @State修饰的数组内部的值变化了,怎么刷新UI?
654浏览 • 1回复 待解决
HarmonyOS @State修饰@observed装饰的对象, 对象里的数组改变, 不会触发ui刷新
206浏览 • 1回复 待解决
ForEach数组发生改变。UI没刷新
840浏览 • 1回复 待解决
列表数组中插入数据后,刷新UI的问题
513浏览 • 1回复 待解决
HarmonyOS 嵌套数组元素的UI刷新方案
531浏览 • 1回复 待解决
HarmonyOS 如何获取uris数组里面的全部图片
136浏览 • 1回复 待解决
HarmonyOS @State数组属性跳转路由后再次回到当前页面,在onPageShow里面赋值页面不刷新
244浏览 • 1回复 待解决
HarmonyOS 数组对象数据刷新
181浏览 • 1回复 待解决
HarmonyOS 关于对象数组内容变更不会引起UI刷新
464浏览 • 0回复 待解决
HarmonyOS LazyForEach在现有的数组的开头位置增加数组数据,如何刷新UI
163浏览 • 1回复 待解决
HarmonyOS UI不刷新
264浏览 • 1回复 待解决
UI预览不会自动刷新, 且刷新较慢
1002浏览 • 1回复 待解决
使用@State修饰的数组对象,改变其中的某个对象的变量,自定义组件中的UI没有跟着刷新
1102浏览 • 1回复 待解决
HarmonyOS 主线程刷新UI
492浏览 • 1回复 待解决
HarmonyOS 对象数组在@state修饰时,对象属性变化界面不刷新的解决办法
59浏览 • 1回复 待解决
postgresql json 字段值为数组,怎么查询数组包含指定元素的数据?
15685浏览 • 1回复 待解决
刷新显示状态,希望自定义一个刷新组件,通过刷新状态的不同显示不同字段包括下拉刷新,释放刷新
1031浏览 • 1回复 待解决
HarmonyOS 如何让自定义类中的属性变化引起UI刷新?
528浏览 • 1回复 待解决
postgresql json 字段值为数组形式,怎么查询数组包含指定元素的数据?
5718浏览 • 1回复 待解决
HarmonyOS @builder方法的ui不刷新
303浏览 • 1回复 待解决
HarmonyOS LazyForEach问题刷新UI问题
201浏览 • 1回复 待解决
HarmonyOS 对象A数组,对象A中又嵌套一个对象B数组,修改B中的属性UI,不刷新
722浏览 • 1回复 待解决
HarmonyOS HashMap中放入数组,数组数据发生改变时如增加或者删除元素,如何触发UI刷新
199浏览 • 1回复 待解决
class二次刷新渲染数组
903浏览 • 1回复 待解决
HarmonyOS 是否有种主动刷新UI的方法
142浏览 • 1回复 待解决
@State装饰的变量只能监听到对象本身及其第一层属性的变化。因此当数组中包含类对象时,@State无法直接刷新这些类对象的字段,需要使用@Observed和@ObjectLink来实现深度观测,文档参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-212-V5