鸿蒙状态管理-@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)
      })
相关推荐
遇到困难睡大觉哈哈7 小时前
鸿蒙Harmony-UIAbility内状态-LocalStorage详细介绍
华为·harmonyos·鸿蒙
郝晨妤2 天前
[HarmonyOS]鸿蒙(添加服务卡片)推荐商品 修改卡片UI(内容)
华为od·华为·harmonyos·鸿蒙
ChinaDragonDreamer3 天前
HarmonyOS:使用List实现分组列表(包含粘性标题)
harmonyos·鸿蒙
1710orange5 天前
uniapp 使用 鸿蒙开源字体
uni-app·鸿蒙·字体
喊我小垚女6 天前
HarmonyOS第一课第四章习题答案
华为·harmonyos·鸿蒙·鸿蒙系统
HvrI18 天前
UIAbility 生命周期方法
鸿蒙
xianKOG9 天前
鸿蒙UI(ArkUI-方舟UI框架)- 使用文本
ui·华为·harmonyos·鸿蒙
SuperHeroWu711 天前
【HarmonyOS NEXT】设备显示白屏 syswarning happended in XXX
harmonyos·鸿蒙·error·白屏·syswarning·happended
i2002120912 天前
[Harmonyos]相机功能开发基础知识篇(持续更新)
数码相机·华为·harmonyos·鸿蒙·鸿蒙系统
ChinaDragonDreamer15 天前
HarmonyOS:给您的应用添加通知
harmonyos·鸿蒙