问题:使用vue+iview或者vue+element-ui等,在完善表格功能的同时,遇到几万几十万的表格数据,渲染特别慢,甚至会发生表格卡顿的问题,体验感非常不好
解决方式:将原来的tablet替换成umy-ui的虚拟表ux-grid。umy-ui的虚拟表ux-grid是对于列表形态的数据展示的按需渲染,根据容器元素的高度以及列表项元素的高度来显示长列表数据中的某一个部分,而不是去完整地渲染长列表,换句话说,就是每次只渲染可视区域
具体使用方式官方开发文档里面都有,umy-ui官网教程:umy-ui开发文档 - 为开发者准备的基于 Vue 2.0 的桌面端组件库,完美解决表格万级数据渲染卡顿问题
在这里附上替换教程,比如说,原来项目使用的是vue+iview,怎么替换为umy-ui的虚拟表ux-grid
1.引入umy-ui依赖
npm install umy-ui
2.在main.js引入以下内容
import { UTable, UTableColumn, UxGrid, UxTableColumn } from 'umy-ui';
import 'umy-ui/lib/theme-chalk/index.css';
Vue.use(UTable);
Vue.use(UTableColumn);
Vue.use(UxGrid);
Vue.use(UxTableColumn);