首页 > 编程 > JavaScript > 正文

监听element-ui table滚动事件的方法

2019-11-19 11:56:52
字体:
来源:转载
供稿:网友

背景

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

准备

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

template代码:

<el-table  :data="logList"  :show-header="false"  row-class-name="table-row-class"  height="700"  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的绑定! 希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表