我有一个list,是用的一个数组数据集包裹的,但是当我修改我数组某一为的浏览量+1时,view不会刷新。只有删除或者新增数组的长度才会自动更新view,我应该如何处理修改某个下标里的内容也可以自动刷新view呢?关键代码如下:
@State dataArr?: HealthMicroClassModelItemModel[] = [] // 数据列表
Grid() {
ForEach(this.dataArr, (model:HealthMicroClassModelItemModel, index:number) => {
GridItem() {
this.videoList(model,index)
}
})
}
.onClick(()=>{
// RouterManager.parseIntent(model.thumbUrl!)
happinessViewModel.saveInfoHits(model.id as string,(result)=>{
console.log('浏览数加1')
if (model.pv != undefined) {
this.dataArr![index].pv = ++model.pv
}
})
})
但是触发点击事件后页面不会刷新
参考下@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5\#对象数组
还有就是observedv2这种试用的状态管理
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-new-observedv2-and-trace-V5\#%E5%B5%8C%E5%A5%97%E7%B1%BB%E5%9C%BA%E6%99%AF