鸿蒙状态管理-@Builder自定义构建函数

@Builder 将重复使用的UI元素抽象成一个方法 在build方法里调用 使其成为 自定义构建函数

复制代码
@Entry
@Component
struct BuilderCase {
  build() {
    Column(){
      Row(){
        Text("西游记")
          .fontSize(20)
      }
      .justifyContent(FlexAlign.Center)
      .backgroundColor("#f3f4f5")
      .height(60)
      .borderRadius(8)

      .width("100%")
      .padding({
        left:20,
        right:20
      })
    }
    .padding(20)
  }
}

将其中项 抽离出来

复制代码
@Entry
@Component
struct BuilderCase {
  @Builder
  getItemBuilder(itemName:string){
    Row(){
      Text(`${itemName}`)
        .fontSize(20)
    }
    .justifyContent(FlexAlign.Center)
    .backgroundColor("#f3f4f5")
    .height(60)
    .borderRadius(8)

    .width("100%")
    .padding({
      left:20,
      right:20
    })
  }

  build() {
    Column({ space:20 }){
      this.getItemBuilder("西游记")
      this.getItemBuilder("水浒传")
      this.getItemBuilder("红楼梦")
      this.getItemBuilder("三国演义")
    }
    .padding(20)
  }
}

同时我们也可以利用循环生成 简化代码

复制代码
 @State
  list:string[]=[ '西游记','水浒传','红楼梦','三国演义', ]


      ForEach(this.list,(item:string)=>{
        this.getItemBuilder(item)
      })
相关推荐
梦想不只是梦与想16 小时前
鸿蒙系统开发状态更新字段区别对比
android·java·flutter·web·鸿蒙
寒雪谷21 小时前
用户登陆UI
开发语言·javascript·ui·harmonyos·鸿蒙
ChinaDragonDreamer1 天前
HarmonyOS:页面滚动时标题悬浮、背景渐变
harmonyos·鸿蒙
SuperHeroWu73 天前
【HarmonyOS 5】鸿蒙实现手写板
华为·harmonyos·鸿蒙·画布·手写板·pan
ChinaDragonDreamer3 天前
HarmonyOS:使用Refresh组件实现页面下拉刷新上拉加载更多
harmonyos·鸿蒙
江拥羡橙3 天前
2025年,HarmonyOS认证学习及考试
学习·华为·harmonyos·鸿蒙·华为证书·harmonyos认证·华为证书考试
ChinaDragonDreamer3 天前
HarmonyOS:使用geoLocationManager (位置服务)获取位置信息
harmonyos·鸿蒙
寒雪谷5 天前
小试牛刀-抽奖程序
开发语言·harmonyos·鸿蒙
SuperHeroWu75 天前
【HarmonyOS 5】鸿蒙的装饰器原理和自定义装饰器
华为·harmonyos·鸿蒙·装饰器·原理·自定义装饰器
琢磨先生David7 天前
探索 OpenHarmony 开源硬件的学习路径:从入门到实战的全攻略
嵌入式硬件·开源·鸿蒙