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)
  }
}
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

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

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

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

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

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

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

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 自定义组件支持链式调用
74浏览 • 1回复 待解决
HarmonyOS 自定义方法链式调用
195浏览 • 1回复 待解决
HarmonyOS 自定义dialog封装后全局调用
29浏览 • 1回复 待解决
HarmonyOS 关于自定义弹窗的封装调用
447浏览 • 2回复 待解决
HarmonyOS 请提供自定义组件封装demo
448浏览 • 2回复 待解决
HarmonyOS 如何封装自定义Dialog
40浏览 • 1回复 待解决
HarmonyOS 自定义弹窗封装问题
46浏览 • 1回复 待解决
HarmonyOS 如何封装自定义弹窗
25浏览 • 1回复 待解决
HarmonyOS 自定义弹框封装问题
38浏览 • 1回复 待解决
HarmonyOS 自定义弹窗封装后不显示
390浏览 • 1回复 待解决
HarmonyOS 定义自定义组件
75浏览 • 1回复 待解决
如何封装全局性的自定义弹窗?
340浏览 • 1回复 待解决