使用Element transfer 组件,遇到大数据量时,导致页面操作比如输入,切换等卡顿,特此记录如何优化
中心思想
就是利用虚拟滚动原理,每次只展示可视区域的数据,比如每次只渲染30条、50条、或者100条,
这样性能的消耗就很小了,完全可以满足很大数据量情况下针对性能的要求,几万以内的数据量不会卡顿。
npm 中已有虚拟滚动组件:vue-virtual-scroll-list
虚拟滚动结合穿梭框组件:el-virtual-transfer,用法和element的el-transfer完全一样
el-virtual-transfer组件的具体的实现可以参考:https://github.com/Little-Gee/blog/blob/main/el-virtual-transfer/src/components/transfer/src/main.vue
安装组件
npm install el-virtual-transfer --save
使用
import newTransfer from 'el-virtual-transfer'
1、vu文件中注册一下
components: {
newTransfer
}
其他可参考链接
https://github.com/Little-Gee/blog/tree/main/el-virtual-transfer
https://juejin.cn/post/7074937189343182879