目录

对象数组

ForEach


对象数组

对象:用来描述一个事物的相关属性以及行为。

语法:

@State man:类型 = { name:'张三',salary:10 }

类型的定义:
interface iMan = {
  name:string
  salary:number
}

完整语法
@State man:iMan = { name:'张三',salary:10 }

数组:用来存储数据的一个容器。

@State arr:iMan[] = [ { name:'张三',salary:10 },{ name:'张三',salary:10 } ]

ForEach

ForEach作用:可以循环遍历一个数组中的每一个元素,通过回调函数将这个元素传递给编码者使用。

ForEach通式:

ForEach(数组,(item:数组存储的值的类型)=>{
  
})

ForEach([1,2,3],(item:number)=>{
  
})

案例:

interface iSalary{
  name:string
  salary:Number

}


@Entry  // 表示此文件是一个页面,将来这个页面可以跳转
@Component //表示此文件是一个组件
  // 第二个固定的部分,struct是关键字要固定,后面是名字,可以自己定义,多个文件不能同名
struct listTestDay2 {
  @State message: string = 'Hello'  // 定义状态变量 @state修饰的变量就是状态变量,当这个变量的内容发生改变,页面自动刷新

  //对象数组,对象,用来描述一个事务的相关属性以及行为
  //定义了一个状态属性salaryList,它是一个对象数组
  @State salaryList:iSalary[]  = [
    {name:'张三',salary:10000},
    {name:'李四',salary:10000},
    {name:'张三',salary:10000},
    {name:'李四',salary:10000}
  ]

  build() {

    // 注意点:list组件内容只能放listitem组件,listitem里面就可以放任意组件
    List({space:10}){
      ForEach(this.salaryList,(item:iSalary)=>{ //item任意改名字
        // 特性,
        ListItem(){ //这里面可以根据自己的页面设计需求来放内容组件

          Row({space:20}){
            Text(item.name)
            Text(item.salary.toString())

          }
          .width('100%')
          .height(100)
          .backgroundColor(Color.Pink)


        }
      })


      //ForEach可以循环遍历一个数组中的每一个元素,通过回调函数将这个元素传递给编码者使用



    }

  }

}

@Entry   表示此文件是一个页面,将来这个页面可以跳转

@Component  表示此文件是一个组件

list组件内容只能放listitem组件,listitem里面就可以放任意组件

ForEach可以循环遍历一个数组中的每一个元素,通过回调函数将这个元素传递给编码者使用

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐