虚拟滚动插件

官方文档:el-table-virtual-scroll

虚拟滚动主要是当表格数据量过多时,dom渲染过慢,使用这个插件可以明显的提升页面中表格的渲染速度。在使用的过程中,用到了其中的虚拟滚动和合并单元行。

第一个注意点就是,它锁定中间包裹组件名为<el-table>,使用其他的二次包装组件或者其他同类型的table组件会发生错误。如果使用的是二次封装的el-table组件,可以在全局组件中找到它,并对其锁定条件进行修改。

在一个js文件中,找到大约在800行的位置添加如下图所示的二次封装组件名即可避免第一波闭门羹。

第二点 虚拟滚动

可以直接查看官方文档的演示源代码,这里用案例做例子。

 在column配置外一定要加上<virtual-scroll>,该组件的导入在git文档上有,就不列举了。

import VirtualScroll from "el-table-virtual-scroll";

下面这行是这个插件的核心功能,将虚拟数据渲染到当前显示的视图里,如果需要改动数据渲染效果,重写一下change方法就可以了。@change = "change"

change(vir){

        this.tableData = vir + 1//诸如此类效果

}

 第三点 合并行

 getRowSpanKey (row) { return row.cate },将需要以cate为基准的column项属性返回给rowspankey属性即可,下面的spanmethod方法是用来具体合并单元格的方法,这部可以使用自己的合并方法,不一定要和文档上的相同(但它会有冲突,选择一种即可)

 

`el-table` 是 Element UI 中的一个表格组件,而 `vue-virtual-scroller` 是一个 Vue.js 插件,用于优化大量数据的表格滚动性能,通过虚拟滚动技术只渲染当前可见的部分,提高性能并减少内存消耗。 当需要处理的数据量非常大,常规的滚动会带来性能瓶颈时,可以将 `el-table` 和 `vue-virtual-scroller` 结合使用。具体步骤如下: 1. 安装 `vue-virtual-scroller`: 在项目中安装这个插件,通常是通过 npm 或者 yarn 进行安装。 ```bash npm install vue-virtual-scroller ``` 2. 配置 `el-table` 并应用虚拟滚动:给 `el-table` 组件添加 `v-virtual-scroll` 指令,并提供必要的配置项,如 `height`、`offsetHeight`、`itemHeight` 和数据源(通常是一个响应式数组)。 ```html <template> <div class="virtual-scroll-wrapper"> <el-table :data="largeData" v-virtual-scroll="{ wrapperClass: 'scroll-wrapper', height: '400px', itemHeight: 50 }"></el-table> </div> </template> <script> import VirtualScroll from 'vue-virtual-scroller' export default { components: { VirtualScroll }, data() { return { largeData: [], // 实际上你需要在这里加载大量的数据 } }, mounted() { // 加载大量数据并填充到 `largeData` this.largeData = loadLargeData() }, } </script> ``` 3. 自定义 `VirtualScroll` 的 `onRendered` 函数,可以在每一组可视内容创建完成后执行某些操作。 ```javascript mounted() { // 使用 `this.$refs.virtualScroll` 访问虚拟滚动实例 this.$refs.virtualScroll.onRendered(() => { console.log('Finished rendering virtual scroll'); }); }, ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值