SmileZXLee / uni-z-paging

【uni-app下拉刷新、上拉加载】高性能,全平台兼容。支持vue、nvue、vue2、vue3,使用wxs+renderjs实现。支持虚拟列表,支持自定义下拉刷新、上拉加载更多,支持自动管理空数据图、点击返回顶部,支持聊天分页、本地分页,支持国际化等100+项配置
https://z-paging.zxlee.cn
MIT License
945 stars 71 forks source link

nvue list 当数据加载比较多时 调用reload重新加载数据的时候会出现明显的回收旧数据的过程 并且耗时长 #70

Open muzigit opened 1 year ago

muzigit commented 1 year ago

编译平台 HbuilderX

VUE版本 vue2+nvue

运行平台 App

z-paging版本 2.5.8

问题描述 当数据加载比较多时 调用reload重新加载数据的时候会出现明显的回收旧数据的过程 并且耗时长

SmileZXLee commented 1 year ago

for循环的:key是否设置, 并且是否是item的id?

bochs-q commented 1 year ago

我也是遇到相同的问题,在NVUE中使用虚拟列表时,当加载的列表比较大时,reload时,页面会一直滚动回收,耗时很长,而且期间页面会卡住 @SmileZXLee

SmileZXLee commented 1 year ago

我也是遇到相同的问题,在NVUE中使用虚拟列表时,当加载的列表比较大时,reload时,页面会一直滚动回收,耗时很长,而且期间页面会卡住 @SmileZXLee

nvue中z-paging默认使用的是weex的list组件,自带cell复用。nvue中是不支持虚拟列表的,因为weex的list性能比虚拟列表更高。

bochs-q commented 1 year ago

那再请教一下,如果采用 nvue 的话,有什么办法解决这个问题吗?

PS: 今天发现,如果采用 nvueStyleCompiler: uni-app 模式,才会出现这种问题。但如果采用 nvueCompiler: uni-app 模式,则不会出现这个问题。 @SmileZXLee

SmileZXLee commented 1 year ago

那再请教一下,如果采用 nvue 的话,有什么办法解决这个问题吗?

PS: 今天发现,如果采用 nvueStyleCompiler: uni-app 模式,才会出现这种问题。但如果采用 nvueCompiler: uni-app 模式,则不会出现这个问题。 @SmileZXLee

可以采用 nvueCompiler: uni-app 模式。这个渲染慢的问题,可以与uniapp官方反馈一下,需要官方解决

bochs-q commented 1 year ago

大神再请教一下:从性能角度,您建议不采用虚拟列表,而是采用 nvue + cell 模式(即 https://z-paging.zxlee.cn/module/nvue.html),对吗? @SmileZXLee

PS: 如果不采用虚拟列表,则 nvueStyleCompiler: uni-app 或 nvueCompiler: uni-app 模式都没有出现页面 reload 时一直滚动回收且耗时很长的问题。但是 nvueCompiler: uni-app 模式对 css 的限制较多。

SmileZXLee commented 1 year ago

大神再请教一下:从性能角度,您建议不采用虚拟列表,而是采用 nvue + cell 模式(即 https://z-paging.zxlee.cn/module/nvue.html),对吗? @SmileZXLee

PS: 如果不采用虚拟列表,则 nvueStyleCompiler: uni-app 或 nvueCompiler: uni-app 模式都没有出现页面 reload 时一直滚动回收且耗时很长的问题。但是 nvueCompiler: uni-app 模式对 css 的限制较多。

对。nvue + cell 模式性能比虚拟列表高,虚拟列表只是在非nvue平台渲染超长列表时的替代解决方案。