因为这样没有监听到变化,所以没有改变值,具体参考下对象数组的用法https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5\#对象数组import { Child } from './Child' import { Tmp } from './Tmp' @Entry @Component struct Index { @State listData: Tmp[] = [] @Builder componentBuilder($$: Tmp) { Text(`${$$.label}`) } build() { Column() { List() { ForEach(this.listData, (item: Tmp, idnex) => { ListItem() { Child({ tmp: item, customOverBuilderParam: ($$): void => { this.componentBuilder({ label: $$.label }) } }) } }) }.width('100%').height('100%') } } aboutToAppear(): void { for (let index = 0; index < 10; index++) { let item = new Tmp() item.label = index + "" this.listData.push(item) } setTimeout(() => { let item = new Tmp() item.label = "bbbb" this.listData[1] = item }, 3000) } }
因为这样没有监听到变化,所以没有改变值,具体参考下对象数组的用法
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5\#对象数组