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 数据刷新
140浏览 • 2回复 待解决
修改ForEach使用数据对象,UI刷新
767浏览 • 1回复 待解决
HarmonyOS 页面跳转刷新问题
146浏览 • 1回复 待解决
HarmonyOS使用Refresh下拉刷新问题
232浏览 • 1回复 待解决
HarmonyOS 列表刷新问题
167浏览 • 1回复 待解决
HarmonyOS Swiper支持动态修改数据
149浏览 • 1回复 待解决
NativeWindowFlushBuffer接口刷新问题
1637浏览 • 1回复 待解决
HarmonyOS List item 刷新问题
234浏览 • 1回复 待解决
在自定义组件中使用@ObjectLink报错
363浏览 • 1回复 待解决
HarmonyOS 数据改变未刷新页面
183浏览 • 0回复 待解决
HarmonyOS List组件动态刷新数据问题
81浏览 • 1回复 待解决