如何在自定义函数中创建一个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
相关问题
使用自定义函数创建一个UI
322浏览 • 1回复 待解决
如何在全局实现一个自定义dialog弹窗
2800浏览 • 1回复 待解决
如何实现一个自定义询问框
398浏览 • 1回复 待解决
如何快速开发出一个自定义弹窗?
352浏览 • 1回复 待解决
HarmonyOS 实现一个自定义分类列表
233浏览 • 1回复 待解决
如何封装一个自定义Dialog对话框
2202浏览 • 1回复 待解决
如何实现一个自定义样式的toast提示
1931浏览 • 1回复 待解决
怎样实现一个自定义播放器?
348浏览 • 1回复 待解决
实现一个自定义动画,出现丢帧问题
365浏览 • 1回复 待解决
如何添加一个自定义的代码文件夹
381浏览 • 1回复 待解决
组件自定义回调函数实现
401浏览 • 1回复 待解决