场景:PageA,有一个列表 listA<Bean\> ,设置如下:
PageA{
build() {
List() {
ForEach(this.listA, (item: Bean, index: number) => {
ListItem() {
ViewB({ info: item })
}
}, (item: Bean, index: number) => 'id_' + index)
}
}
}
ViewB{
@Prop info:Bean
//相关展示
}
当PageA对listA中的数据进行修改时发现,并没用同步到ViewB进行更新。
查询到@ObservedV2装饰器和@Trace装饰器:类属性变化观测 可能适用我当前场景,但是ViewB无法使用@Prop等装饰器接参,pageA也无法通过ViewB({ info: item }) 的方式将数据传递进去。
要怎么解决这个问题
可以参考ComponentV2的文档,因为V2中有自己的装饰器来替换v1之前的装饰器,写法有所不同,文档请参考: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-new-componentv2-V5
demo如下: