鸿蒙状态管理-@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)
      })
相关推荐
鸿蒙自习室2 天前
鸿蒙网络管理模块04——网络连接管理
华为·harmonyos·鸿蒙·媒体
Android技术栈3 天前
鸿蒙开发(NEXT/API 12)【应用间消息通信】手机侧应用开发
嵌入式硬件·信息与通信·harmonyos·鸿蒙·鸿蒙系统·openharmony
Android技术栈4 天前
鸿蒙开发(NEXT/API 12)【硬件(取消注册智慧出行连接状态的监听)】车载系统
华为·车载系统·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony
Android技术栈4 天前
鸿蒙开发(NEXT/API 12)【状态查询与订阅】手机侧应用开发
华为·系统架构·harmonyos·鸿蒙·鸿蒙系统·openharmony
Android技术栈4 天前
鸿蒙开发(NEXT/API 12)【硬件(传感器开发)】传感器服务
华为·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony·传感器
Android技术栈5 天前
鸿蒙开发(NEXT/API 12)【穿戴设备信息查询】手机侧应用开发
嵌入式硬件·硬件架构·移动开发·harmonyos·鸿蒙·鸿蒙系统
Android技术栈5 天前
鸿蒙开发(NEXT/API 12)【硬件(取消注册监听系统导航信息和指令)】车载系统
车载系统·移动开发·harmonyos·鸿蒙·鸿蒙系统·openharmony·硬件
Android技术栈5 天前
鸿蒙开发(NEXT/API 12)【硬件(注册出行业务事件监听)】车载系统
车载系统·harmonyos·鸿蒙·鸿蒙系统·openharmony
灵猫小西6 天前
鸿蒙HarmonyOS之封装Http请求工具类
网络·网络协议·http·鸿蒙
Android技术栈6 天前
鸿蒙开发(NEXT/API 12)【硬件(注册智慧出行连接状态的监听)】车载系统
华为·车载系统·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony