HarmonyOS 如何触发更新自定义组件里的数据并让其刷新UI?

我封装了很多自定义组件,并在调用的时候传了一个初始值进去,但是因为请求后端接口数据是个延时操作,所以传值先于请求接口执行,传值进去的时候还没数据,所以UI没数据展示。我想在接口请求成功后更新还给自定义组件的数据并让其刷新UI。请问我该如何实现?

HarmonyOS
2024-09-25 11:15:41
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可以@ObjectLink和@Observed一起使用,参考:

@Observed  
class MyViewModel {  
  title: string = ""  
  constructor(title:string) {  
    this.title = title  
  }  
}  
  
@Entry  
@Component  
export struct MyComponent {  
  
  @State vm: MyViewModel = new MyViewModel("1")  
  
  build() {  
    Row(){  
      OtherComponenft({vm:this.vm})  
        .onClick(()=>{  
          this.vm.title = "222"  
        })  
    }.width("100%")  
    .height(100)  
  }  
}  
  
@Component  
struct OtherComponenft {  
  @ObjectLink vm: MyViewModel  
  build() {  
    Text(this.vm.title)  
      .fontSize(20)  
      .fontColor(Color.Black)  
      .width(200)  
      .height(50)  
      .margin({  
        left:20  
      })  
  }  
}
分享
微博
QQ
微信
回复
2024-09-25 16:33:04
相关问题
HarmonyOS UI组件自定义点击范围
334浏览 • 1回复 待解决
自定义组件使用watch监听
491浏览 • 1回复 待解决
Tabs组件自定义导航栏UI问题
827浏览 • 1回复 待解决
HarmonyOS 自定义弹窗刷新问题
49浏览 • 1回复 待解决