下载样例代码后解压

index.ets
ListHeaderComponent
ListItemComponent
TitleComponent
DataModel.ets
export interface Fruit{
id:string
name:string
vote:string
}
export const rankData1:Array<Fruit> = [{
'id': '1',
'name': '苹果',
'vote': '1852'
},
{
'id': '2',
'name': '菠萝',
'vote': '1257'
},
{
'id': '3',
'name': '草莓',
'vote': '1123'
},
{
'id': '4',
'name': '香蕉',
'vote': '1016'
}
,
{
'id': '5',
'name': '石榴',
'vote': '943'
}
,
{
'id': '6',
'name': '枣',
'vote': '897'
}
,
{
'id': '7',
'name': '柑橘',
'vote': '869'
}
,
{
'id': '8',
'name': '樱桃',
'vote': '820'
}
,
{
'id': '9',
'name': '桂圆',
'vote': '795'
}
,
{
'id': '10',
'name': '桃',
'vote': '783'
}
,
{
'id': '11',
'name': '西瓜',
'vote': '780'
}
,
{
'id': '12',
'name': '哈密瓜',
'vote': '689'
}
]
export const rankData2: Array<Fruit> = [
{
'id': '13',
'name': '凤梨',
'vote': '602'
},
{
'id': '14',
'name': '火龙果',
'vote': '587'
}, {
'id': '15',
'name': ' 杨梅',
'vote': '568'
}]
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
@Entry装饰器:装饰的组件将作为页面的入口,页面加载时将被渲染显示
@Component装饰器:装饰结构体struct,表示这个结构体是一个UI组件
build方法:每个组件必须实现build方法,用于定义组件的声明式UI描述
容器组件:
Column沿垂直方向布局的容器
Column(value?:{space?:string|number})
参数:space 纵向布局的元素垂直方向间距
类型定义:
资源引用类型:用于设置组件的属性的值
可以通过$r或$rawfile创建Resource类型的对象,不可以修改Resource中的各属性的值
$r('belonging.type.name')
belonging:系统资源或者应用资源,相应的取值为'sys'或'app'
type:资源类型,支持“color','float','string','media'等
name:资源名称,在资源定义时确定
Margin外边距类型
Padding内边距类型
管理组件拥有的状态:
@State装饰器:@State装饰的变量与子组件中的@Prop、@Link或@ObjectLink装饰变量之间建立单向或双向数据同步
运行结果:

