如何在自定义函数中创建一个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弹窗
1337浏览 • 1回复 待解决
如何在自定义弹窗再次弹窗
1165浏览 • 1回复 待解决
如何封装一个自定义Dialog对话框
1088浏览 • 1回复 待解决
如何实现一个自定义样式的toast提示
802浏览 • 1回复 待解决
自定义组件如何添加图片?
1339浏览 • 1回复 待解决
Tabs组件自定义导航栏UI问题
503浏览 • 1回复 待解决
如何在js文件引入自定义js文件
6415浏览 • 1回复 待解决
如何自定义组件原型菜单
477浏览 • 1回复 待解决
ArkTs如何自定义容器组件
1853浏览 • 1回复 待解决
如何自定义模拟Tabs组件
436浏览 • 1回复 待解决
自定义组件嵌套子组件
8107浏览 • 3回复 待解决