解决element ui大数据渲染表格时严重卡顿的问题

这篇具有很好参考价值的文章主要介绍了解决element ui大数据渲染表格时严重卡顿的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

element ui中的table表格组件在大量数据渲染的时候渲染会出现严重的卡顿问题,虽然网上也有很多解决方案,比如什么延迟加载,虚拟加载等等,这里为了避免走弯路,直接上终极解决方案大招:趁早换组件、马上换组件、现在就去换组件!!!

推荐组件:umy-ui

官方文档:umy-ui开发文档 - 为开发者准备的基于 Vue 2.0 的桌面端组件库,完美解决表格万级数据渲染卡顿问题里面有各种表格格式,可满足列过多、行过多等多种大数据情况优化的表格方案


用法

1、安装

npm install umy-ui

2、main.js(本文按照全部引入的方式引入的):

import UmyUi from 'umy-ui'
import 'umy-ui/lib/theme-chalk/index.css';

Vue.use(UmyUi);

3、vue文件

<u-table
        :header-cell-style="headerStyle" 
        :height="tableHeight"
        :row-height="rowHeight"
        @selection-change="selectionChange"
        use-virtual 
        ref="tableRef"
        :data="tableData">
        <u-table-column label=" " type="index" fixed="left"></u-table-column>
        <u-table-column
            type="selection"
            fixed="left"
            width="55">
        </u-table-column>
        <u-table-column
            prop="id"
            label="id"
            width="100"
        ></u-table-column>
        <u-table-column
            :label="操作"
            width="140"
            fixed="right"
        >
            <template slot-scope="scope">
              <span class="spanBtn" @click="view(scope.row)">查看</span>
            </template>
        </u-table-column>
</u-table>

data() {
    return {
      rowHeight: 60,
      tableHeight: window.innerHeight - 420,
      headerStyle: { // 表头样式
        backgroundColor: "#d9d9d9",
        fontSize: "14px",
        fontWeight: 900,
        color: "#333"
      },
      tableData: []
    }
}

注意点:

height:是表格的整体高度,不给height或者不给maxheight,又或者给的是0,use-virtual直接会关闭
use-virtual:是整个表格的核心,添加该属性意味着启动虚拟表格可以解决数据渲染卡顿问题。
row-height:use-virtual未开启的情况可以不需要,行高(必须要设置行高,如css给td给了80高度,那么你就给row-height给80,不要乱给高度,以td tr高度为准,否则会导致表格计算不正确,row-height不是去为了设置表格行高,它只是为了表格里面计算某些东西。如果你需要改变你的行高,你需要去写css改变td的高度即可!)文章来源地址https://www.toymoban.com/news/detail-840725.html


出现表格渲染错位的解决办法
watch: {
    "tableData" (val) {
      this.$nextTick(() => {//修复表格错位
        this.$refs.tableRef && this.$refs.tableRef.doLayout()
      })
    }
  },

到了这里,关于解决element ui大数据渲染表格时严重卡顿的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue大数据表格上万条数据,树型表格,解决el-table表格数据量过大渲染卡死的问题,使用umy-ui的大数据表格虚拟表格虚拟滚u-table解决。

    先看看效果吧,拿实例说话,直接渲染四万多条数据不分页,树形表格可以展开 直接上代码: 第一步:引入表格组件:自行按照官方文档引入即可 第二步:具体页面实现代码: 这是HTMl代码,多的不介绍,基本方法和el-atble没什么区别,只是tl-table的基础上加了几个属性,这

    2024年02月11日
    浏览(52)
  • 解决vue+element ui 在使用element表格时,出现表格表头与内容对不齐的问题

    我们在使用element ui的表格功能时,出现如下图所示表格头与内容对不齐的问题时解决方法如下  方法一: 在App.vue中加入 方法二: 在自建的css文件中加入  body .el-table th.gutter{ display: table-cell!important; } 然后使用下列语句将css文件导入App.vue中 效果如下图所示      

    2024年02月15日
    浏览(63)
  • 解决mac pro 连接4k显示器严重发烫、卡顿问题

    介绍个不用花钱的方法。其实mac自带的风扇散热能力还可以的,但是默认比较懒散,可以用一个软件来控制下,激发下它的潜能。 可以下个stats软件 打开传感器开关,以及同步控制风扇开关 以及cpu显示温度 点击控制台上的温度图标,会展开显示传感器页面,然后会提示下载

    2024年02月06日
    浏览(96)
  • 基于vue和element-ui的表格组件,主推数据渲染,支持内容和方法灵活绑定,提供动态具名插槽自定义内容

            组件名为commonTable,主要是基于element-ui中的表格组件进行二次封装的组件,集成了常用的表格功能,除默认内容的显示外,还包括以下几点:         1. 状态的筛选和显示;         2. 操作按钮的显示和方法绑定;         3. 自定义具名插槽内容的封装;      

    2024年02月07日
    浏览(54)
  • Element-ui不显示表格数据问题

    在学习vue的时候,使用element-ui插件,按照官方教程导入表格 发现在界面里除了 表格没有数据,其他都能正常显示。 在vue中的组件里也能拿到对应表格中的数据,但就是无法显示表格中的数据。 解决方案 通过反复比对后来发现,原来是我把所有的vue项目都放在一个文件夹里

    2024年02月11日
    浏览(47)
  • Element-UI表格嵌入popover出现的问题以及解决方案

    最近几天遇到一个比较棘手的问题,需求是在触发表格某一列的cell,弹窗展示新的数据(不是表格内的数据,而是需要重新向后端请求) 我这里使用了popover展示弹窗 代码是删减过的,为了更清楚地记录,有些这里没有用到的代码就删了 1. 触发方式是hover(写在popover的trig

    2024年02月16日
    浏览(40)
  • vue+Element UI Table表格动态渲染表头内容及操作按钮

    循环表格头信息数组 封装操作组件并引入表格文件内 配置表头信息数组及添加操作事件

    2024年02月13日
    浏览(72)
  • 【JSON渲染工具】Element UI动态生成表格,多行表头,自定义表头合并

    table :中每个对象代表一张表格; table_header :表示表格表头数据; headerColor :表示表格表头背景颜色; headerData :表示表格表头内容数据; prop :值为与 table_content 中对象属性对应,data_list中的avgMen对应的prop需为\\\"first.avgMen\\\"(这里跟获取对象的点语法相似),如以下例子 label

    2024年04月10日
    浏览(56)
  • 解决:element ui表格表头自定义输入框单元格el-input不能输入问题

    表格表头如图所示,有 40-45,45-50 数据,且以输入框形式呈现,现想修改其数据或点击右侧加号增加新数据编辑。结果不能输入,部分代码如下 我看在这一块 template 中不需要用到 scope 去获取数据,于是没有加上 slot-scope=\\\"scope\\\" 结果不能输入,解决方法就是在表头自定义时将

    2024年02月03日
    浏览(61)
  • vue2 element ui 的表格使用 sortablejs 拖拽列遇到的问题和解决方案

    项目使用 element ui 的表格实现拖动表头可改变列的宽度,又使用sortablejs实现表格的列可拖拽到其他列的位置,导致出现如下的一些问题: 1、某一列宽变大或变小后,只有当前列可拖拽,其他列无法拖拽。 解决方案:在列宽发生改变后,销毁当前拖拽实例,再重新创建拖拽

    2024年02月08日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包