HarmonyOS鸿蒙Next OpenHarmony ETS坑1,@builder BUG(内容显示错误)

HarmonyOS鸿蒙Next OpenHarmony ETS坑1,@builder BUG(内容显示错误)

bug1.png




@Entry
@Component
struct Index {
  @Builder
  showBug(text:string) {
    Column(){
      Bug({ text: text })
    }
  }
  @Builder
  showNormal(text:string) {
    Column(){
      Text(text)
        .fontSize(30)
    }
  }
  build() {
    Column() {
      this.showBug("BugA")
      this.showBug("BugB")
      this.showBug("BugC")
      this.showNormal("NormalA")
      this.showNormal("NormalB")
      this.showNormal("NormalC")
    }
  }
}
@Component
struct Bug {
  @State text:string = '';
  build(){
    Column(){
      Text(this.text)
        .fontSize(30)
    }
  }
}

正确内容显示是BugA、BugB、BugC、NormalA、NormalB、NormalC


更多关于HarmonyOS鸿蒙Next OpenHarmony ETS坑1,@builder BUG(内容显示错误)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

楼主您好,已反馈给开发人员,请耐心等待,感谢您的支持

更多关于HarmonyOS鸿蒙Next OpenHarmony ETS坑1,@builder BUG(内容显示错误)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你把子组件@State改为@Prop看看

在HarmonyOS鸿蒙Next或OpenHarmony的ETS(Extended TypeScript)开发中,使用@builder时可能会遇到内容显示错误的BUG。这通常是由于@builder装饰器在组件渲染时未能正确更新或绑定数据导致的。建议检查以下几点:

  1. 确保@builder函数内的数据绑定正确;
  2. 检查组件状态更新逻辑;
  3. 确认@builder函数是否在每次数据变化时被正确调用。

如果问题依旧,可以尝试使用@State@Prop等装饰器来管理状态,或查阅官方文档获取更多调试信息。

回到顶部