积分47 / 贡献0

提问0答案被采纳0文章2

作者动态

[经验分享] 列表页构建(标题加图标)

深开鸿-唐艺丹 显示全部楼层 发表于 2024-10-31 16:15:06

列表页构建(文字加图标)

List组件实现效果如下图所示:

wps1.jpg


具体步骤

首先构建整个 List中的每一条 Listitem,我们的计划是 List中的每一条 Listitem由文字 Text和图标 Image组成,其中文字 Text由一个标题+一个日期组成。

因为文字 Text由一个标题+一个日期组成,所以也要填充 Text文本所需要的内容,这里是构建了一个标题+一个日期,通过构造 class来定义标题和日期这两个属性。

export default class New {
  title: string
  time: string

  constructor(title: string, time: string) {
    this.title = title
    this.time = time
  }
}

通过名为 list的数组属性来导入所需的文本,该数组用于存储 New类型的元素。

export default struct NewList {

  @State list:Array<New>=new Array

  aboutToAppear(){
    this.list.push(new New("这是标题1","07/12"))
    this.list.push(new New("这是标题2","07/19"))
    this.list.push(new New("这是标题3","07/20"))
    this.list.push(new New("这是标题4","07/21"))
    this.list.push(new New("这是标题5","07/22"))
    this.list.push(new New("这是标题6","07/23"))
  }

最后构建整体,用 ForEach来实现对每一条的构建。

  build() {
    Column() {
      List() {
        ForEach(this.list, (item: New) => {
          ListItem() {
            Row() {
              Column() {
                Text(item.title)
                  .fontSize(21)
                  .textAlign(TextAlign.Start)
                Text("  日期:" + item.time)
                  .fontSize(12)
              }
              .width('80%')
              Image($r('app.media.startIcon'))
                .width(40)
                .height(40)
                .margin(10)
            }
            .height(60)
          }
        })
      }
    }
    .width('100%')
    .height('100%')
  }

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部