📚鸿蒙开发往期学习笔录📌:
📌 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
📌 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
📌 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
📌 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
📌 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
📌 记录一场鸿蒙开发岗位面试经历~
📌 持续更新中……
介绍
本示例介绍使用ArkUI WaterFlow 组件和 LazyForEach 实现瀑布流场景。该场景多用于购物、资讯类应用。
效果图预览
使用说明
- 加载完成后显示整个列表,超过一屏时可以上下滑动。
实现思路
- 创建WaterFlowDataSource类,实现IDataSource接口的对象,用于WaterFlow和LazyForEach加载数据。
- 通过@Builder自定义瀑布流列表项组件,作为FlowItem的子组件。
- 结合父组件传递的数据以及WaterFlow和LazyForEach循环构造出整个列表。
WaterFlow
子组件
包含 FlowItem 子组件。
说明
WaterFlow子组件的visibility属性设置为None时不显示,但依然会占用子组件对应的网格。
接口
WaterFlow(options?: {footer?: CustomBuilder, scroller?: Scroller})
参数:
参数名 | 参数类型 | 必填 | 参数描述 |
---|---|---|---|
footer | CustomBuilder | 否 | 设置WaterFlow尾部组件。 |
scroller | Scroller | 否 | 可滚动组件的控制器,与可滚动组件绑定。 目前瀑布流仅支持Scroller组件的scrollToIndex接口。 |
属性
除支持 通用属性 外,还支持以下属性:
名称 | 参数类型 | 描述 |
---|---|---|
columnsTemplate | string | 设置当前瀑布流组件布局列的数量,不设置时默认1列。 例如, ‘1fr 1fr 2fr’ 是将父组件分3列,将父组件允许的宽分为4等份,第一列占1份,第二列占1份,第三列占2份。并支持 auto-fill 。 默认值:‘1fr’ |
rowsTemplate | string | 设置当前瀑布流组件布局行的数量,不设置时默认1行。 例如, '1fr 1fr 2fr’是将父组件分三行,将父组件允许的高分为4等份,第一行占1份,第二行占一份,第三行占2份。并支持 auto-fill 。 默认值:‘1fr’ |
itemConstraintSize | ConstraintSizeOptions | 设置约束尺寸,子组件布局时,进行尺寸范围限制。 |
columnsGap | Length | 设置列与列的间距。 默认值:0 |
rowsGap | Length |