表格数据过大的时候,渲染时间则增大。使用分页就可以解决,但是有的时候用户不想使用分页,那么前端可以监听滚动条进行懒加载,但是当数据都加载出来。数据量就又大了。
-
组件文件名: elTableVirtualScroll.vue 通过仅渲染可视区域内的内容来减少 DOM 节点数量,从而提升页面响应速度和内存使用效率
-
使用案例:在文件中引入组件,tableData1变量是表格全部数据,tableData则是展示的数据,tableDataChange用来监听容器滚动条,进而计算展示数据
<VirtualScroll :data="tableData1" :height="62" key-prop="id" @change="tableDataChange"> <el-table :data="tableData" border ref="tables" height="50vh" v-loading="tableLoading" style="width: 100%;"> </el-table> </VirtualScroll>tableDataChange(renderData) {
this.tableData = renderData
if(this.tableData.length > 0) {
this.tableData.unshift(this.formObject)
}
},