目录
对象数组
对象:用来描述一个事物的相关属性以及行为。
语法:
@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可以循环遍历一个数组中的每一个元素,通过回调函数将这个元素传递给编码者使用