ui table滚动事件的方法

这篇文章主要介绍了监听element-ui table滚动事件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

背景

做管理平台的项目,用到了element-ui,需要通过监听el-table滚动的位置来获取最新的数据,那么怎么样监听el-table的滚动呢?

准备

我们默认的技术栈是 vue+element-ui

template代码:

<el-table :data="logList" :show-header="false" row-class-name="table-row-class" ref="table" @row-click="rowClick"> <el-table-column type="expand"> <el-table-column label="log信息" prop="message"> </el-table-column> </el-table>

绑定监听事件

mounted() { // 获取需要绑定的table this.dom = this.$refs.table.bodyWrapper this.dom.addEventListener('scroll', () => { // 滚动距离 let scrollTop = this.dom.scrollTop // 变量windowHeight是可视区的高度 let windowHeight = this.dom.clientHeight || this.dom.clientHeight // 变量scrollHeight是滚动条的总高度 let scrollHeight = this.dom.scrollHeight || this.dom.scrollHeight if (scrollTop + windowHeight === scrollHeight) { // 获取到的不是全部数据 当滚动到底部 继续获取新的数据 if (!this.allData) this.getMoreLog() console.log('scrollTop', scrollTop + 'windowHeight', windowHeight + 'scrollHeight', scrollHeight) } }) }

获取到新的数据后,调整滚动条的位置

getMoreLog() { ... this.dom.scrollTop = this.dom.scrollTop - 100 ... }

结语

至此我们已经完成了对table的绑定! 希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/788cd30e6a12d60557057ca2db5daca5.html