el-table表格大数据卡顿?试试umy-ui

最近公司项目表格数据量过大导致页面加载时间非常长,而且还使用了keep-alive缓存,关闭页面时需要卸载大量dom,导致页面卡死、cpu飙到100%的问题

后来在网上查找了很多方法,发现了umy-ui(目前只支持v2),这个表格库是针对element-ui的表格做了二次优化,支持el-table的所有方法

这个表格可以基于可视区域做dom渲染,这样就大大的减少了页面初次渲染的压力。

首先第一步

js 复制代码
 npm install umy-ui

或者使用CDN的方式引入

js 复制代码
  <!--引入表格样式-->
  <link rel="stylesheet" href="https://unpkg.com/umy-ui/lib/theme-chalk/index.css">

  <!-- import Vue -->
  <script src="https://unpkg.com/vue/dist/vue.js"></script>

  <script src="https://unpkg.com/umy-ui/lib/index.js"></script>
  <!-- 真实项目不建议你直接引入  <script src="https://unpkg.com/umy-ui/lib/index.js"></script>-->

  <!-- 这样去引如会直接下最新版本,如果你的项目打包发布了,然后遇见umy-ui大更新 你可能项目会报错。-->

  <!--推荐你这样引入: https://unpkg.com/umy-ui$1.0.1/lib/index.js   加入版本号!-->
  <!-- 这样去引如会直接下最新版本,如果你的项目打包发布了,然后遇见umy-ui大更新 你可能项目会报错。-->

  <!--推荐你这样引入: https://unpkg.com/umy-ui@1.0.1/lib/index.js   加入版本号!-->

第二步 main.js中全局引入

js 复制代码
  import UmyUi from 'umy-ui'
  import 'umy-ui/lib/theme-chalk/index.css';// 引入样式
  Vue.use(UmyUi)

或按需引入

js 复制代码
import { UTable, UTableColumn } from 'umy-ui';

Vue.component(UTable.name, UTable);
Vue.component(UTableColumn.name, UTableColumn);

修改起来也很方便

直接吧 el-table 改成 u-table , el-table-column 改成u-table-column ,最后添加属性use-virtual 这样就可以使用了

示例

js 复制代码
<u-table
   ref="tableRef"
   :data="tableData"
   style="width: 100%"
   border
   row-key="id"
   height="tableHeight"
   use-virtual // 开启虚拟滚动
   row-height="55" // 行高
>
  <u-table-column
     prop="id"
     label="name"
   >
      ...
   </u-table-column>
</u-table>

其中的u-table是基础虚拟表格,u-grid是解决冲向列多卡顿的问题、或单元格合并。(这里注意u-grid的没有prop字段!!而是field)

具体详细属性请看umy-ui官网

问题

用完这个表格页面性能虽然提升不少但是当我开启多个keep-alive缓存之后全部关闭时还是会有卡顿

目前用的是 vue-element-admin 的模板,希望有大佬指点一二

最后

如果文章有帮助到你,帮作者点个赞就好啦

相关推荐
一袋米扛几楼984 分钟前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
网络点点滴17 分钟前
前端与后端的区别与联系
前端
EnCi Zheng42 分钟前
M5-markconv自定义CSS样式指南 [特殊字符]
前端·css·python
kyriewen1 小时前
你的网页慢,用户不说直接走——前端性能监控教你“读心术”
前端·性能优化·监控
广州华水科技1 小时前
北斗GNSS变形监测在大坝安全监测中的应用与优势分析
前端
前端老石人1 小时前
前端开发中的 URL 完全指南
开发语言·前端·javascript·css·html
CAE虚拟与现实1 小时前
五一假期闲来无事,来个前段、后端的说明吧
前端·后端·vtk·three.js·前后端
Sarvartha1 小时前
三目运算符
linux·服务器·前端
晓晨的博客1 小时前
ROS1录制的bag包转换为ROS2格式
前端·chrome
Wect1 小时前
LeetCode 72. 编辑距离:动态规划经典题解
前端·算法·typescript