element-ui el-table 滚动到底部,进行加载下一页

文章讲述了在Element-UI中,由于InfiniteScroll组件不适用于table,作者提供了一种自定义滚动监听方法,通过监听滚动条位置并在到达底部时触发数据加载。方法包括在HTML模板中使用v-load-table-more指令,并在自定义方法`infiniteScrollLoad`中实现回调功能。
摘要由CSDN通过智能技术生成

使用element-ui 自带的InfiniteScroll 无限滚动组件无法使用在table里面,所以项目只能组件写一个

俺的方法是写了一个自定义组件,进行监听滚动条是否拉到最底部进行一个处理。方法如下

直接复制完事了,

loadTableMore: {

    bind(el, binding) {

        // 获取当前滚动的节点,注意必须要有高度

        const selectWrap = el.querySelector('.el-table__body-wrapper')

        if (selectWrap) {

            selectWrap.addEventListener('scroll', function (e) {

                let sign = 3

                // 这个sign值,只是为了滚动到最底部3px的时候加载

                const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight

                if (Math.ceil(scrollDistance) <= sign) {

                    // 到这里 就会执行方法了

                    binding.value()

                }

            })

        } else {

            console.log('没找到元素')

        }

    },

},

在table 绑定如下

因为我当时是写的html模板,所以 v-load-table-more,正常的vue模板 可以直接v-loadTableMore

<el-table :data="tableData" :border="false" :height="tableHeight" v-load-table-more="infiniteScrollLoad" >

    <el-table-column fixed label="排名" width="50" prop="RowIndex" align="center"> </el-table-column>

    <el-table-column fixed label="排名" width="50" prop="RowIndex" align="center"> </el-table-column>

    <el-table-column fixed label="排名" width="50" prop="RowIndex" align="center"> </el-table-column>

    <el-table-column fixed label="排名" width="50" prop="RowIndex" align="center"> </el-table-column>

</el-table>

方法里面写上,就可以监听到达底部的回调函数了

infiniteScrollLoad(){

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值