Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
c922cd63
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
c922cd63
编写于
12月 02, 2024
作者:
shutao-dc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update waterflow.md
上级
196cfaec
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
82 addition
and
6 deletion
+82
-6
docs/component/flow-item.md
docs/component/flow-item.md
+11
-3
docs/component/waterflow.md
docs/component/waterflow.md
+71
-3
未找到文件。
docs/component/flow-item.md
浏览文件 @
c922cd63
...
...
@@ -4,8 +4,16 @@
<!-- UTSCOMJSON.flow-item.compatibility -->
waterflow 的子组件,配合 waterflow 内部业务实现 flow-item 回收复用,实现高性能的瀑布流长列表组件。flow-item 组件宽度由 waterflow 的 cross-axis-count 属性决定,所以设置与宽度相关的style样式都不生效。
flow-item 宽度计算公式:((waterflow的width - waterflow的左右的padding值域 - waterflow的border-width的值域) - (cross-axis-count - 1)
*
cross-axis-gap) / cross-axis-count
<!-- UTSCOMJSON.flow-item.attribute -->
### flow-item复用机制
waterflow 与 list-view 实现机制几乎一致,所以 flow-item 与 list-item 组件复用机制是一样的,请参考:
[
list-item复用机制
](
list-item.md#list-item复用机制
)
<!-- UTSCOMJSON.flow-item.event -->
<!-- UTSCOMJSON.flow-item.component_type -->
...
...
docs/component/waterflow.md
浏览文件 @
c922cd63
...
...
@@ -2,7 +2,12 @@
<!-- UTSCOMJSON.waterflow.description -->
<!-- UTSCOMJSON.waterflow.compatibility -->
<!-- UTSCOMJSON.waterflow.compatibility -->
、
在App中,waterflow 底层实现与list-view底层实现方式基本一致,仅子组件排列方式存在差异,适用于多元素瀑布流长列表场景,子组件滑动出屏幕会及时回收复用。性能优于 scroll-view
> waterflow 暂时只支持 flow-item 组件为子组件,其他组件不可见
> waterflow 只支持竖向滚动,暂时不支持横向滚动
<!-- UTSCOMJSON.waterflow.attribute -->
...
...
@@ -10,9 +15,72 @@
<!-- UTSCOMJSON.waterflow.component_type -->
### 自定义下拉刷新样式
waterflow组件有默认的下拉刷新样式,如果想自定义,则需使用自定义下拉刷新。
1.
设置
`refresher-default-style`
属性为 none 不使用默认样式
2.
设置 flow-item 定义自定义下拉刷新元素并声明为
`slot="refresher"`
,需要设置刷新元素宽高信息否则可能无法正常显示!
```
html
<template>
<waterflow
refresher-default-style=
"none"
:refresher-enabled=
"true"
:refresher-triggered=
"refresherTriggered"
@
refresherpulling=
"onRefresherpulling"
@
refresherrefresh=
"onRefresherrefresh"
@
refresherrestore=
"onRefresherrestore"
style=
"flex:1"
>
<flow-item
v-for=
"i in 10"
class=
"content-item"
type=
1
>
<text
class=
"text"
>
item-{{i}}
</text>
</flow-item>
<!-- 自定义下拉刷新元素 -->
<flow-item
slot=
"refresher"
class=
"refresh-box"
type=
2
>
<text
class=
"tip-text"
>
{{text[state]}}
</text>
</flow-item>
</waterflow>
</template>
```
3.
通过组件提供的refresherpulling、refresherrefresh、refresherrestore、refresherabort下拉刷新事件调整自定义下拉刷新元素!实现预期效果
**注意:**
+
目前自定义下拉刷新元素不支持放在waterflow的首个子元素位置上。可能无法正常显示
### 加载更多(load-more)
由于 waterflow 组件是多列的,单个 flow-item 组件无法占用一整行,加载更多展示不太友好,所以我们提供了slot="load-more"属性配置,waterflow 组件会特殊处理最后一个 flow-item 子组件,如果配置了slot="load-more"则显示一整行
```
html
<template>
<waterflow
style=
"flex:1"
>
<flow-item
v-for=
"i in 10"
class=
"content-item"
type=
1
>
<text
class=
"text"
>
item-{{i}}
</text>
</flow-item>
<flow-item
slot=
"load-more"
id=
"loadmore"
type=
3
class=
"load-more-box"
>
<text>
加载更多
</text>
</flow-item>
</waterflow>
</template>
```
**注意:**
+
slot="load-more"仅对 waterflow 最后一个 flow-item 子组件生效
### 嵌套模式
scroll-view开启嵌套模式后,waterflow 可作为内层滚动视图与外层 scroll-view 实现嵌套滚动
设置内层 waterflow 的
`associative-container`
属性为 "nested-scroll-view",开启内层 waterflow 支持与外层 scroll-view 嵌套滚动
<!-- UTSCOMJSON.waterflow.children -->
<!-- UTSCOMJSON.waterflow.example -->
<!-- UTSCOMJSON.waterflow.reference -->
#### App平台
+
App平台 waterflow 组件默认高度是计算后瀑布流高度,无法滚动,如需要滚动要设置高度小于瀑布流高度,推荐配置 "flex:1"
+
waterflow 组件在排版完毕UI展示后,如果子组件高度放生变化,则会重新排版,flow-item 组件的UI会出现短暂的错乱和位置位移,建议控制子元素高度固定避免动态修改高度
+
场景一 image组件设置mode=widthFix,加载的网络图片会出现异步图片下载动态修改高度的情况,容易出现上述问题
+
场景二 rich-text组件nodes节点内容存在网络图片,出现异步加载情况,会出现动态修改高度导致出现上述问题
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录