首页 > 编程笔记 > 通用技能 阅读:11

ArkTS @BuilderParam装饰器的用法(附带实例)

@BuilderParam 用于装饰自定义组件(struct)中的属性,装饰的属性可作为一个 UI 结构的占位符,待创建该组件时,可通过参数为其传入具体的内容。其作用类似于 Vue 框架中的槽(slot)。

下面通过几个步骤来进一步了解 @BuilderParam 装饰器的用法。

1) 定义一个组件,使用 @BuilderParam 占位,代码如下:
@Component
struct Container {
  //@BuilderParam属性
  @BuilderParam content: () => void
  build() {
    Column() {
      Text('其他内容')               //其他内容
      this.content();                //占位符
      Button('其他内容')             //其他内容
    }
  }
}

2) 使用 @Builder 装饰器来定义 UI 结构,代码如下:
@Builder function autoUI1() {
  Text('这是自定义插槽1')
}

@Builder function autoUI2() {
  Text('这是自定义插槽2')
}

3) 在组件中通过传入不同的 UI 来填充结构,代码如下:
Container({content:autoUI1})
Divider().strokeWidth(20)
Container({content:autoUI2})
完整代码讲解如下图所示:


图 1 @BuilderParam 装饰器

相关文章