HarmonyOS 组件初始化参数

在组件内定义变量后,在初始化组件时对其进行赋值报错:

export struct HeaderView {
  @Param mobileNo: string = '';
  @Param closeMsg?: string = '';
  @Param isShowBack?: boolean = true;
  @Param isShowClose?: boolean = false;
  @Param isShowMore?: boolean = false;
  @Param title?: string | Resource = '';
  @Param backgroundC: Resource = $r('app.color.wp_white');
  onBackClick = () => {
  };
  onMoreClick = () => {
  };
  onCloseClick = () => {
  };
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
HeaderView({
  backgroundC: $r('app.color.wp_transparent'), onBackClick: () => {
    WpRouter.pop()
  }, title: $r('app.string.wp_mine_setting_account')
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
HarmonyOS
2025-01-09 15:34:01
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

从API12开始,在@ComponentV2装饰的自定义组件中支持使用@Param装饰器。也可以使用@prop,示例参考如下:

@Component
struct HeaderView {
  @Prop mobileNo: string = '11';
  closeMsg?: string = '333';
  isShowBack?: boolean = true;
  isShowClose?: boolean = false;
  isShowMore?: boolean = false;
  @Prop title?: string | Resource = '';
  onBackClick = () => {
  };
  onMoreClick = () => {
  };
  onCloseClick = () => {
  };
  click? = (data: number) => {
  };

  build() {
    Column() {
      Text(this.mobileNo)
      Text(this.title)
      Text(this.closeMsg)
      Text('点击子组件').onClick(() => {
        if (this.click != undefined) {
          this.click(123);
        }
      })
    }
  }
}

@Entry
@Component
struct Index {
  clickFunc(data: number) {
    console.log(data.toString())
  }

  build() {
    Column() {
      Text('parents')
      HeaderView({ mobileNo: '123456', title: '标题测试', click: (data: number): void => this.clickFunc(data) })
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
分享
微博
QQ
微信
回复
2025-01-09 18:55:38
相关问题
HarmonyOS export struct的初始化参数
807浏览 • 1回复 待解决
HarmonyOS XComponent初始化
895浏览 • 1回复 待解决
HarmonyOS Component初始化问题
1249浏览 • 1回复 待解决
HarmonyOS struct初始化方法
751浏览 • 1回复 待解决
HarmonyOS 应用RDB初始化示例
1037浏览 • 1回复 待解决
HarmonyOS 推送服务初始化失败
594浏览 • 1回复 待解决
HarmonyOS 初始化EGL环境失败
694浏览 • 1回复 待解决
初始化安全相机的方法
1067浏览 • 1回复 待解决
没法调试“已初始化”分支
814浏览 • 1回复 待解决
怎么进行全局初始化操作?
69浏览 • 0回复 待解决
HarmonyOS 怎么监听Web初始化完成?
725浏览 • 1回复 待解决
关于初始化EGL环境相关问题
1849浏览 • 1回复 待解决
rsa 公钥解密初始化报错
1028浏览 • 1回复 待解决
HarmonyOS 如何进行全局初始化操作
674浏览 • 1回复 待解决
HarmonyOS 如何动态对Class进行初始化
646浏览 • 1回复 待解决