list-view.md 2.6 KB
Newer Older
D
DCloud_LXH 已提交
1
## list-view
D
DCloud_LXH 已提交
2 3 4

<!-- UTSCOMJSON.list-view.description -->

W
更x  
wanganxp 已提交
5 6 7 8 9 10 11 12
在App中,基于recycle-view的list,才能实现长列表的资源自动回收,以保障列表加载很多项目时,屏幕外的资源被有效回收。list-view就是基于recycle-view的list组件。

每个list由1个父组件list-view及若干子组件list-item构成。

在list-item上使用v-for指令循环list-item,自动会回收屏幕外的列表项资源。

list-view和scroll-view都是滚动组件,list适用于长列表场景,其他场景适用于scroll-view。

shutao-dc's avatar
shutao-dc 已提交
13 14
注意: list-view仅识别list-item组件其他组件无法识别不能正常显示

D
DCloud_LXH 已提交
15 16
<!-- UTSCOMJSON.list-view.attrubute -->

D
DCloud_LXH 已提交
17 18
<!-- UTSCOMJSON.list-view.event -->

D
DCloud_LXH 已提交
19 20
<!-- UTSCOMJSON.list-view.example -->

D
DCloud_LXH 已提交
21 22
<!-- UTSCOMJSON.list-view.compatibility -->

D
DCloud_LXH 已提交
23 24
<!-- UTSCOMJSON.list-view.children -->

D
DCloud_LXH 已提交
25 26 27
<!-- UTSCOMJSON.list-view.reference -->


D
DCloud_LXH 已提交
28
## list-item
D
DCloud_LXH 已提交
29 30 31

<!-- UTSCOMJSON.list-item.description -->

shutao-dc's avatar
shutao-dc 已提交
32 33 34 35
<!-- UTSCOMJSON.list-item.attrubute -->

### list-item复用机制

shutao-dc's avatar
shutao-dc 已提交
36
type属性定义list-item组件类型。不赋值type属性默认值为0,每一个type类型都会有对应的list-item组件缓存池,当部分list-item组件存在子元素个数差异或排版差异时。请尽可能的配置不同的type,这样可以很好的规避部分场景下list-item组件复用时子元素创建或删除造成的性能影响,当list-view组件滚动触发加载list-item组件时,会优先查询对应type缓存池是否存在可复用的list-item组件。有则复用没有则创建新的list-item组件。
shutao-dc's avatar
shutao-dc 已提交
37
当list-item组件被滚动出屏幕则会优先添加到对应类型的list-item缓存池,每个类型缓存最大5个(不同平台缓存最大值不固定),如果缓存池已满则进行组件销毁!减少不必要的内存占用。
D
DCloud_LXH 已提交
38

D
DCloud_LXH 已提交
39 40
<!-- UTSCOMJSON.list-item.event -->

D
DCloud_LXH 已提交
41 42
<!-- UTSCOMJSON.list-item.example -->

D
DCloud_LXH 已提交
43 44
<!-- UTSCOMJSON.list-item.compatibility -->

D
DCloud_LXH 已提交
45 46
<!-- UTSCOMJSON.list-item.children -->

D
DCloud_LXH 已提交
47 48
<!-- UTSCOMJSON.list-item.reference -->

W
更x  
wanganxp 已提交
49 50
## 示例代码

W
x  
wanganxp 已提交
51
- 联网联表:[https://gitcode.net/dcloud/hello-uni-app-x/-/blob/master/pages/template/list-news/list-news.uvue](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/master/pages/template/list-news/list-news.uvue)
W
更x  
wanganxp 已提交
52 53 54 55
- 可左右滑动的多个列表:[https://gitcode.net/dcloud/hello-uni-app-x/-/tree/master/pages/template/long-list](https://gitcode.net/dcloud/hello-uni-app-x/-/tree/master/pages/template/long-list)

## Bug&Tips

W
x  
wanganxp 已提交
56
- 暂不支持reverse,目前还不能开发im那样的倒序列表
DCloud_Heavensoft's avatar
DCloud_Heavensoft 已提交
57
- list的下拉刷新样式暂不支持自定义
shutao-dc's avatar
shutao-dc 已提交
58
- 多列瀑布流是另外的组件,后续会提供