vue中el-table实现无限向下滚动懒加载数据
作者:__十七
一次性的加载全部的数据,并且将其渲染到页面上,就会导致页面卡顿,往往采用分页和无限滚动的方式来展示,本文主要介绍了vue中el-table实现无限向下滚动懒加载数据,感兴趣的可以了解一下
1,场景说明
列表数据太多,但产品标注不可以使用分页功能。在这种情形下,一次性的加载全部的数据,并且将其渲染到页面上,就会导致页面卡顿。
2,插件安装与注册
1, 安装 el-table-infinite-scroll插件
npm install --save el-table-infinite-scroll
注:vue2/vue3版本的不同, 如果是老项目, 最好装旧点的版本。
2,注册
2.1 全局注册
import Vue from 'vue' import elTableInfiniteScroll from 'el-table-infinite-scroll' Vue.use(elTableInfiniteScroll)
2.2 局部注册
<script> import elTableInfiniteScroll from 'el-table-infinite-scroll' export default { directives: { 'el-table-infinite-scroll': elTableInfiniteScroll } } </script>
3,插件实现功能
v-el-table-infinite-scroll=“getCompanyList” : 设置加载的参数
:infinite-scroll-distance=“10” : 距离底部多少的时候在可以触发加载
:infinite-scroll-disabled=“disabledScroll” : 控制禁用的属性
<el-table :data="tableData" ref="multipleTable" height="250" style="width: 100%" v-el-table-infinite-scroll="getCompanyList" :infinite-scroll-distance="10" :infinite-scroll-disabled="disabledScroll" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"> </el-table-column> <el-table-column prop="name" label="名称" width="100"> </el-table-column> <el-table-column prop="id" label="id" width="100"> </el-table-column> <el-table-column prop="userName" label="账号"> </el-table-column> <el-table-column prop="mopName" label="租户名称"> </el-table-column> <el-table-column prop="specification" label="规格"> </el-table-column> <el-table-column prop="operateSystem" label="操作系统"> </el-table-column> </el-table> export default { data() { return { tableData: [], page: 0, total: 0, disabled: false }; }, methods: { getList() { if (this.disabled) return; this.page++; if (this.page === this.total) { this.disabled = true; } const params = Object.assign(this.searchData, { pageSize: 5, currentPage: this.page, }); this.$req .getResourceList(params) .then( (res) => { this.tableData = this.tableData.concat(res?.data ?? []); }, (err) => { this.$message.error(err.errorMessage || "获取列表失败"); } ) .finally(() => { this.disabled = false; }); }, }, }; </script>
到此这篇关于vue中el-table实现无限向下滚动懒加载数据的文章就介绍到这了,更多相关vue 无限向下滚动懒加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!