HarmonyOS 数据更新不了问题
当去修改了数组中的某个Model的 localSelected 状态时,子组件的页面不刷新
父组件
@State goalsLabels: Array<CsUserLabelBean> = new Array()
// 创建子组件
CsCoLabelTabContents({ labels: this.goalsLabels })
- 1.
- 2.
- 3.
子组件代码:
@Component
export struct CsLabelItem {
@ObjectLink item: CsUserLabelBean
build() {
Text(this.item.title)
.margin({
left: ds2vp(4),
right: ds2vp(4),
top: ds2vp(5.5),
bottom: ds2vp(5.5)
})
.textAlign(TextAlign.Center)
.fontSize(ds2vp(13.33))
.fontColor(this.item.localSelected ? '#FFFFFF' : '#965E31')
.backgroundColor(this.item.localSelected ? '#C78652' : '#FBF1E2')
.borderRadius(ds2vp(12))
.width(ds2vp(90))
.height(ds2vp(24))
.padding({ left: ds2vp(4), right: ds2vp(4) })
.maxLines(1)
.textOverflow({ overflow: TextOverflow.Ellipsis })
.border({
width: ds2vp(1),
color: this.item.localSelected ? '#FBF1E2' : '#E9C47C',
style: BorderStyle.Solid
})
}
}
@Component
export struct CsCoLabelTabContents {
@Prop labels: Array<CsUserLabelBean>
build() {
Column() {
Grid() {
ForEach(this.labels, (item: CsUserLabelBean, index: number) => {
GridItem() {
CsLabelItem({ item: item })
}
})
}
.scrollBar(BarState.Off)
.columnsTemplate('1fr 1fr 1fr 1fr 1fr 1fr')
.width(ds2vp(611))
.padding({ top: ds2vp(18) })
.height('100%')
}.width('100%')
.height('100%')
.alignItems(HorizontalAlign.Center)
.backgroundColor('#FFF4E4')
}
- 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.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
model 代码
@Observed
export class CsUserLabelBean {
// 标签ID
id: number = 0
// 标题
title: string | null = null
// 类型
category_id: number = 0
// 是否选中
localSelected: boolean = false
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
HarmonyOS
赞
收藏 0
回答 1
相关问题
更新过后手机打不了电话
12730浏览 • 5回复 待解决
华为p40pro怎么更新不了鸿蒙
10037浏览 • 1回复 待解决
卡片数据更新问题求大佬解答
6124浏览 • 1回复 待解决
HarmonyOS TextPickerDialog数据源更新,UI不更新
932浏览 • 1回复 待解决
HarmonyOS 数据库数据更新怎么监听?
1017浏览 • 1回复 待解决
Java Player视频播放不了的问题
9554浏览 • 2回复 待解决
解决ArkTS开发中组件渲染和数据更新问题?
1862浏览 • 0回复 待解决
HarmonyOS Grid组件使用ForEach网格布局,Ui数据更新问题
1550浏览 • 1回复 待解决
HarmonyOS app更新问题
829浏览 • 1回复 待解决
HarmonyOS 如何批量更新数据库的数据?
1129浏览 • 1回复 待解决
使用onDataChange更新数据是否会更新关联项
2586浏览 • 1回复 待解决
HarmonyOS 关于foreach循环更新页面数据时页面会闪烁问题
569浏览 • 1回复 待解决
HarmonyOS 分组列表数组嵌套时数据更新不触发列表更新
893浏览 • 1回复 待解决
HarmonyOS 更新数据后UI不刷新
1059浏览 • 1回复 待解决
HarmonyOS List组件数据更新错误
998浏览 • 0回复 待解决
HarmonyOS 应用内更新问题
867浏览 • 1回复 待解决
HarmonyOS 关于WrapperBuilder更新问题
663浏览 • 1回复 待解决
HarmonyOS 数据库数据插入以及更新方案
726浏览 • 1回复 待解决
HarmonyOS 下拉刷新的时候没有更新数据
1336浏览 • 1回复 待解决
HarmonyOS UI未在数据更新时刷新
770浏览 • 1回复 待解决
HarmonyOS Grid容器视图更新问题
1166浏览 • 1回复 待解决
HarmonyOS @ObjectLink 渲染组件更新同步问题
593浏览 • 1回复 待解决
HarmonyOS 更新测试版本接口问题
869浏览 • 1回复 待解决
元服务的卡片更新机制,如何更新卡片数据?
352浏览 • 1回复 待解决
如何更新页面列表数据
8003浏览 • 1回复 待解决
因为@State只能观察到goalsLabels属性的变化观察不到次一级的属性变化所以未ui未更新,可以给goalsLabels重新赋值,如:
在初始化和更新时通过改变changeFlag 触发ui刷新