如何在自定义函数中创建一个UI组件

如何在自定义函数中创建一个UI组件

HarmonyOS
2024-03-17 14:34:38
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
OwenOO

可以使用@Builder装饰器,也称为“自定义构建函数”。自定义构建函数可以在所属组件的build方法和其他自定义构建函数中调用,但不允许在组件外调用。可参考如下代码:

// xxx.ets 
class ABuilderParam { 
  paramA1: string = ''; 
} 
 
@Builder 
function ABuilder($$: ABuilderParam) { 
  Row() { 
    Text(`UseStateVarByReference: ${$$.paramA1} `) 
  } 
} 
 
@Entry 
@Component 
struct Parent { 
  @State label: string = 'Hello'; 
 
  build() { 
    Column({ space: 20 }) { 
      Text(`Parent`) 
      // 在Parent组件中调用ABuilder的时候,将this.label引用传递给ABuilder 
      ABuilder({ paramA1: this.label }) 
      Button('Click me').onClick(() => { 
        // 点击“Click me”后,UI从“Hello”刷新为“ArkUI” 
        this.label = 'ArkUI'; 
      }) 
    } 
    .width('100%') 
    .alignItems(HorizontalAlign.Center) 
  } 
}
分享
微博
QQ
微信
回复
2024-03-18 17:19:10
相关问题
如何在全局实现一个自定义dialog弹窗
281浏览 • 1回复 待解决
如何在自定义弹窗再次弹窗
206浏览 • 1回复 待解决
如何封装一个自定义Dialog对话框
279浏览 • 1回复 待解决
自定义组件如何添加图片?
764浏览 • 1回复 待解决
如何在js文件引入自定义js文件
5744浏览 • 1回复 待解决
ArkTs如何自定义容器组件
964浏览 • 1回复 待解决
自定义组件嵌套子组件
7336浏览 • 3回复 待解决
如何设置自定义组件height缺省
145浏览 • 1回复 待解决
js 自定义组件如何传递方法?
4230浏览 • 2回复 待解决
自定义组件如何导出、引入?
375浏览 • 1回复 待解决
Ark UI是否如何使用自定义字体
1185浏览 • 1回复 待解决
如何自定义Video组件控制栏样式
396浏览 • 1回复 待解决
鸿蒙如何自定义字体文件
17183浏览 • 1回复 待解决
鸿蒙组件toast自定义样式
6658浏览 • 1回复 待解决