SmileZXLee / uni-z-paging

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

<z-paging v-model="dataList">,如果数据量稍微大一点,比如1000条以上,dataList 变量的数据更新会很慢 #92

Open bochs-q opened 11 months ago

bochs-q commented 11 months ago

请描述您在使用期间遇到的疑问

如果数据量稍微大一点,比如1000条以上,dataList 变量的数据更新会很慢。如此会导致一些问题,比如 tabs 切换卡住一段时间,统计已加载数量 dataList.length 等也会很慢,用户体验很不好。但奇怪的是,列表的滚动却又不受影响。 请教下大神 @SmileZXLee ,这是什么原因引起,有什么好的解决办法吗? PS:nuve + cell 模式
SmileZXLee commented 11 months ago

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

bochs-q commented 11 months ago
<z-paging v-if="isShow" ref="paging" @query="queryList" v-model="dataList"
    preload-page="12" virtual-scroll-fps="80" cell-key-name="identifier" 
    default-page-size="25" local-paging-loading-time="800"
    :use-virtual-list="false"

    :auto="false"
    :auto-show-back-to-top="true"
    :auto-clean-list-when-reload="false" 
    :auto-scroll-to-top-when-reload="true"
    :show-refresher-when-reload="false"
    :show-loading-more-when-reload="false"
    :nvue-paging-enabled="false"
    :nvue-fast-scroll="false"

    :refresher-enabled="false"
    :safe-area-inset-bottom="true"
    >

  <!-- nuve + cell 模式 -->
  <z-paging-cell v-for="(item, index) in dataList" :key="item.identifier">

  </z-paging-cell>
</z-paging>

是的,都遵守了组件的文档规范。

SmileZXLee commented 11 months ago
image

看下nvue编译模式是否选的是uniapp

bochs-q commented 11 months ago

对,采用的是 "nvueStyleCompiler" : "uni-app" 模式,另外 item.identifier 的值是这种风格的: XXXXX_32323 字母_数字 这种组合

SmileZXLee commented 10 months ago

那应该不会有问题的,试下直接用nvue的list+cell是否有相同问题呢