HarmonyOS 封装自定义组件语法,链式调用

自定义的组件,使用起来相对于系统源生组件,存在不便之处,比如自定义组件如何实现类似系统组件的效果 在{}后面可以继续调用方法设置属性

代码示例:

@Component
struct TestView {

  @BuilderParam
  viewBuilder : ()=>void
  build() {
  }
}

@Entry
@Component
export struct MainPage {

  build() {
    Column(){
      Text("111")

      TestView(){
        Text("222")
      }
      // 自定义组件 因为viewBuilder的返回值是void  这里调用with方法设置属性 运行时会报错
      // 自定义组件如何实现类似系统组件的效果 在{}后面可以继续调用方法设置属性
      .width(60)
    }
    // 系统组件可以在{}后面继续调用方法设置属性
    .width(50)
  }
}
  • 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.
HarmonyOS
2024-12-24 15:38:11
425浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

建议使用参数初始化组件。

@Builder修饰的方法:自定义构建函数,本身就不支持调用链方式的属性设置,请用参数方式进行设置。

另外尾随闭包初始化组件具有一定局限性

1.此场景下自定义组件内有且仅有一个使用@BuilderParam装饰的属性。

2.此场景下自定义组件不支持使用通用属性。

建议使用参数初始化组件。

分享
微博
QQ
微信
回复
2024-12-24 17:34:53


相关问题
HarmonyOS 自定义组件支持链式调用
424浏览 • 1回复 待解决
HarmonyOS 自定义方法链式调用
612浏览 • 1回复 待解决
HarmonyOS 自定义dialog封装后全局调用
512浏览 • 1回复 待解决
HarmonyOS 关于自定义弹窗的封装调用
1132浏览 • 2回复 待解决
HarmonyOS 请提供自定义组件封装demo
1046浏览 • 2回复 待解决
HarmonyOS 自定义弹窗封装问题
595浏览 • 1回复 待解决
HarmonyOS 如何封装自定义弹窗
613浏览 • 1回复 待解决
HarmonyOS 如何封装自定义Dialog
527浏览 • 1回复 待解决
HarmonyOS 自定义弹框封装问题
527浏览 • 1回复 待解决
HarmonyOS 自定义弹窗封装后不显示
930浏览 • 1回复 待解决
HarmonyOS 定义自定义组件
699浏览 • 1回复 待解决
如何封装全局性的自定义弹窗?
699浏览 • 1回复 待解决