element table数据量太大导致网页卡死崩溃的解决办法

 更新时间:2023年02月27日 11:17:30   作者:Apeng_0919  
当页面数据过多,前端渲染大量的DOM时,会造成页面卡死问题,下面这篇文章主要给大家介绍了关于element table数据量太大导致网页卡死崩溃的解决办法,需要的朋友可以参考下

前言

做后台项目时,一次性在表格中加载几百上千条数据,发现有时页面会崩溃。究其原因,发现是一次渲染dom太多导致卡顿。

在此尝试了多种解决方法,发现最优的就是替换组件,elementUI中的表格组件el-table性能不优,数据量大的时候,尤其是可操作表格,及其容易卡顿。在这里介绍一个新的第三方插件:unmy-ui。

官网会有具体的操作介绍和相关API http://www.umyui.com/umycomponent/uxGridApi

1.安装

npm install umy-ui

2.引入

在main.js中写入以下内容:

  import Vue from 'vue';
  import UmyUi from 'umy-ui'
  import 'umy-ui/lib/theme-chalk/index.css';// 引入样式
  import App from './App.vue';
 
  Vue.use(UmyUi);
 
  new Vue({
    el: '#app',
    render: h => h(App)
  });

3.在需要的页面写入表格(仅展示关键代码,可根据自己需求添加)

<ux-grid
  border
  keep-source
  ref="plTable"
  show-summary
  :data="form.itemList"
  :edit-config="{ trigger: 'click', mode: 'cell' }"
  max-height="432"
>
  <ux-table-column field="category" title="类别" width="120">
    <template slot-scope="scope">
      <el-select
        size="mini"
        v-model="scope.row.category"
        @change="changeCategory(scope.row.category, scope.rowIndex)"
      >
        <el-option
          v-for="(item, index) in categoryGroup"
          :key="index"
          :value="item.value"
          :label="item.label"
          >{{ item.label }}</el-option
        >
      </el-select>
    </template>
  </ux-table-column>
</ux-grid>

在此解释我写项目时遇到和el-table不同的两点:

  • el-table 中绑定数据的prop和ux-grid中的field对应,label和title对应;
  • change事件中传递该行的索引,el-table中用scope.$index,在ux-grid中用scope.rowIndex;

最后解决页面卡顿崩溃的问题。

总结

到此这篇关于element table数据量太大导致网页卡死崩溃解决的文章就介绍到这了,更多相关element table数据量太大网页卡死内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于axios配置请求头content-type实例详解

    关于axios配置请求头content-type实例详解

    现在前端开发中需要通过Ajax发送请求获取后端数据是很普遍的一件事情了,下面这篇文章主要介绍了关于axios配置请求头content-type的相关资料,需要的朋友可以参考下
    2022-04-04
  • Ant Design Pro 之 ProTable使用操作

    Ant Design Pro 之 ProTable使用操作

    这篇文章主要介绍了Ant Design Pro 之 ProTable使用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • vue二级菜单导航点击选中事件的方法

    vue二级菜单导航点击选中事件的方法

    今天小编就为大家分享一篇vue二级菜单导航点击选中事件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue async await promise等待异步接口执行完毕再进行下步操作教程

    vue async await promise等待异步接口执行完毕再进行下步操作教程

    在Vue中可以使用异步函数和await关键字来控制上一步执行完再执行下一步,这篇文章主要给大家介绍了关于vue async await promise等待异步接口执行完毕再进行下步操作的相关资料,需要的朋友可以参考下
    2023-12-12
  • vue查找指令和模板思路详解

    vue查找指令和模板思路详解

    这篇文章主要介绍了vue查找指令和模板,基本思路是需要判断当前遍历到的节点是一个元素还是一个文本,随着思路的展开我们就来实现这个功能,需要的朋友可以参考下
    2023-10-10
  • vue菜单栏联动内容页面tab的实现示例

    vue菜单栏联动内容页面tab的实现示例

    本文主要介绍了vue菜单栏联动内容页面tab的实现示例,左侧菜单栏与右侧内容部分联动,当点击左侧的菜单,右侧会展示对应的tab,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 基于Vue实现文件上传的几种实现方式

    基于Vue实现文件上传的几种实现方式

    文件上传是web开发中一个常见的需求,Vue.js作为一款流行的前端框架,也提供了方便的方法来实现文件上传功能,下面这篇文章主要给大家介绍了关于基于Vue实现文件上传的几种实现方式,需要的朋友可以参考下
    2024-03-03
  • Vue组件的继承用法示例详解

    Vue组件的继承用法示例详解

    这篇文章主要介绍了Vue组件的继承用法,本文通过实例代码案例讲解给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 最全vue的vue-amap使用高德地图插件画多边形范围的示例代码

    最全vue的vue-amap使用高德地图插件画多边形范围的示例代码

    这篇文章主要介绍了最全vue的vue-amap使用高德地图插件画多边形范围,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 利用Vue.js实现checkbox的全选反选效果

    利用Vue.js实现checkbox的全选反选效果

    最近用vue做了两个项目,都需要实现全选反选的功能,所以想着记录下分享给大家,方便自己或者有需要的朋友们参考讲学习,所以下面这篇文章主要介绍了利用Vue.js实现checkbox的全选反选效果,需要的朋友可以一起来学习学习。
    2017-01-01

最新评论