HarmonyOS 关于objectLink在数组对象中使用时,修改数据页面不刷新问题

关于objectLink在数组对象中使用时,修改数据页面不刷新,打印数据有变化,希望能再父组件中修改数据时(数组对象)子组件页面能刷新。

HarmonyOS 关于objectLink在数组对象中使用时,修改数据页面不刷新问题-鸿蒙开发者社区

HarmonyOS
2024-08-30 09:28:42
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

需要借助子组件实现

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5#objectlink支持联合类型

参考demo

//@Observed @ObjectLink 
@Observed 
class InnerMessageVo { 
 content: string; 
 id: number; 
 readState: boolean; 
 constructor(id: number,content: string,readState: boolean) { 
  this.id = id; 
  this.content = content; 
  this.readState = readState; 
 } 
} 
@Component 
struct ViweA{ 
 @ObjectLink a: InnerMessageVo; 
 build() { 
  Row(){ 
   Text(this.a.content) 
  } 
 } 
} 
@Entry 
@Component 
struct Index2 { 
 @State arr1: InnerMessageVo[] = [new InnerMessageVo(1,"123",true),new InnerMessageVo(2,"123",true),new InnerMessageVo(3,"123",true)] 
 build() { 
  Row() { 
   Column() { 
    List(){ 
     ForEach(this.arr1,(item: InnerMessageVo,index: number)=>{ 
      ListItem(){ 
       ViweA({a:item}) 
       //Text(this.arr1[index].content) 
      } 
     }) 
    } 
    Button('change') 
     .onClick(() => { 
      console.log('123'); 
      this.arr1[1].content = '666' 
     }) 
   } 
   .width('100%') 
  } 
  .height('100%') 
 } 
}
分享
微博
QQ
微信
回复
2024-08-30 17:57:29
相关问题
HarmonyOS使用@ObjectLink 数据刷新
1739浏览 • 2回复 待解决
修改ForEach使用数据对象,UI刷新
4284浏览 • 1回复 待解决
HarmonyOS 页面数据刷新问题
1469浏览 • 1回复 待解决
HarmonyOS UI刷新问题
1091浏览 • 1回复 待解决
HarmonyOS 数组对象数据刷新
1032浏览 • 1回复 待解决
HarmonyOS 数据刷新问题
992浏览 • 1回复 待解决
HarmonyOS 装饰器刷新问题
1138浏览 • 1回复 待解决
HarmonyOS 页面刷新问题
1375浏览 • 1回复 待解决
HarmonyOS 二维数组刷新问题
1291浏览 • 1回复 待解决
HarmonyOS 页面跳转刷新问题
2572浏览 • 1回复 待解决
HarmonyOS swiper数据刷新问题
901浏览 • 1回复 待解决
HarmonyOS LazyForEach数据刷新问题
915浏览 • 1回复 待解决
HarmonyOS 状态变量刷新问题
1971浏览 • 2回复 待解决