(5)食物列表页

 

1.食物列表页

 1.头部导航
 build() {
    Column() {
      // 1.头部导航
      this.Header()
      //2.列表
    }
    .width('100%')
    .height('100%')
  }
  @Builder Header() {
    Row() {
      Image($r('app.media.ic_public_back'))
        .width(24)
        .onClick(() => router.back())//点击后返回
      Blank()
      Text('早餐').fontSize(18).fontWeight(CommonConstants.FONT_WEIGHT_600)
    }
    .width(CommonConstants.THOUSANDTH_940)
    .height(32)
  }
}

@Component
export default struct ItemList {
  build() {
    Tabs() {
      TabContent() {//实物列表
        List({ space: CommonConstants.SPACE_10 }) {
          ForEach([1,2],(item)=> {
            ListItem(){
              Row({ space: CommonConstants.SPACE_6 }) {
                Image($r('app.media.toast')).width(50)
                Column({ space: CommonConstants.SPACE_4 }) {
                  Text('全麦吐司').fontWeight(CommonConstants.FONT_WEIGHT_500)
                  Text(`1片`).fontSize(14).fontColor($r('app.color.light_gray'))
                }
                Blank()
               Image($r('app.media.ic_public_add_norm_filled'))
                 .width(18)
                 .fillColor($r('app.color.primary_color'))
              }
              .width('100%')
              .padding(CommonConstants.SPACE_6)
            }
          })
        }
        .width('100%')
        .height('100%')

      }
      .tabBar('全部')//


    }
    .width(CommonConstants.THOUSANDTH_940)
    .height('100%')
  }
}

优化代码:

将重复的抽出成组件,使用

@Component
export default struct ItemList {
  build() {
    Tabs() {
      TabContent() {//实物列表
this.TabContentBuilder()
      }
      .tabBar('全部')//

      TabContent() {//实物列表
        this.TabContentBuilder()
      }
      .tabBar('主食')//

      TabContent() {//实物列表
        this.TabContentBuilder()
      }
      .tabBar('肉蛋奶')//
    }
    .width(CommonConstants.THOUSANDTH_940)
    .height('100%')
  }
  //封装抽取成组件
  @Builder TabContentBuilder() {
    List({ space: CommonConstants.SPACE_10 }) {
      ForEach([1,2],(item)=> {
        ListItem(){
          Row({ space: CommonConstants.SPACE_6 }) {
            Image($r('app.media.toast')).width(50)
            Column({ space: CommonConstants.SPACE_4 }) {
              Text('全麦吐司').fontWeight(CommonConstants.FONT_WEIGHT_500)
              Text(`91千卡/片`).fontSize(14).fontColor($r('app.color.light_gray'))
            }
            Blank()
            Image($r('app.media.ic_public_add_norm_filled'))
              .width(18)
              .fillColor($r('app.color.primary_color'))
          }
          .width('100%')
          .padding(CommonConstants.SPACE_6)
        }
      })
    }
    .width('100%')
    .height('100%')
  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值