鸿蒙状态管理-@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)
      })
相关推荐
沧海一笑-dj4 小时前
【鸿蒙开发】Hi3861学习笔记- 软件定时器示例
harmonyos·鸿蒙·openharmony·鸿蒙开发·软件定时器·hi3861
遇到困难睡大觉哈哈1 天前
HarmonyOS 音频录制与播放模块
华为·音视频·harmonyos·鸿蒙
星之卡比*1 天前
前端知识点---路由模式-实例模式和单例模式(ts)
鸿蒙
沧海一笑-dj1 天前
【鸿蒙开发】OpenHarmony调测工具hdc使用教程(应用开发者)
华为·harmonyos·鸿蒙·openharmony·hdc·调测工具
星之卡比*2 天前
前端知识点---库和包的概念
前端·harmonyos·鸿蒙
Wezarp4 天前
鸿蒙开发 - 键盘避让
ui·华为·harmonyos·鸿蒙·虚拟软键盘
jian110585 天前
鸿蒙Android4个脚有脚线
华为·harmonyos·鸿蒙
来之梦8 天前
鸿蒙自定义组件预览
鸿蒙
北京迅为10 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第4章 UART基础知识
人工智能·嵌入式硬件·harmonyos·鸿蒙·rk3568
北京迅为10 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第3章 实操-HDF驱动配置LED
linux·嵌入式硬件·鸿蒙·openharmony·rk3568