vue+elementUI实现表格滚动加载

本文介绍了一个用于Vue项目的指令`vueClearIndex`,它实现了Element UI表格的滚动加载功能。通过监听表格滚动事件,当接近底部时触发加载更多数据的方法。在`main.js`中注册该指令后,可在组件中使用`v-loadmore`来实现滚动加载,例如在`el-table`元素上应用,并结合`loadMore`方法动态加载数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单粗暴,直接上代码

  • el-table-loadmore/index.js文件
const vueClearIndex = {}
/*
* element 表格实现滚动加载
*/
vueClearIndex.install = Vue => {
  Vue.directive('loadmore', {
    bind(el, binding) {
      const selectWrap = el.querySelector('.el-table__body-wrapper')
      selectWrap.addEventListener('scroll', function () {
        let sign = 0
        const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight
        if (scrollDistance <= sign) {
          binding.value()
        }
      })
    }
  })
}

export default vueClearIndex
  • main.js注册
import loadmore from '@/directive/el-table-loadmore' // 表格滚动加载
loadmore.install(Vue)
  • 组件中使用 v-loadmore
 <el-table ref="multipleTable" :data="detailList" style="width: 100%;" :max-height="maxHeight"   v-loadmore="loadMore">
 ...
 </el-table>
  • loadMore方法
    loadMore() {
      if (this.searchData.currentPage < this.pages) {//当前页数小于总页数就请求 
        this.searchData.currentPage++;//当前页数自增
        this.getData()
      }
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

守望黑玫瑰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值