HarmonyOS 鸿蒙Next @Builder 装饰器引用传参报错

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next @Builder 装饰器引用传参报错

//组件封装在函数中 按引用传参 $$

@Builder

function MyBuilder($$:{ userName: string }) {

  Column() {

    Text(hello ${$$.userName})

      .fontSize(30)

      .margin(20)

  }

}

//页面调用函数

@Entry

@Component

struct Parent {

  @State personName: string = “张三”

  build() {

    Column() {

      MyBuilder({ userName: this.personName })

      Button(“更改名字”).onClick(() => {

        this.personName = “李四”

      })

    }.width(“100%”)

  }

}

cke_675.png

Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types) <ArkTSCheck>

2 回复
要定义类型呗,不能直接在$$后面写

在使用HarmonyOS的@Builder装饰器时遇到引用传参报错,通常可能是由于几个常见原因引起的。首先,检查传入的引用类型是否符合@Builder的期望,包括是否为可序列化或满足特定的接口约束。其次,确认@Builder使用的上下文和版本支持你的使用场景。此外,检查是否有编译器的版本问题或依赖库冲突。

确保所有相关类都已正确注解并遵循构建器的规则。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部