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


Posted in Javascript onMarch 26, 2019

背景

做管理平台的项目,用到了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的绑定! 希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
Aug 28 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 Javascript
JavaScript传递变量: 值传递?引用传递?
Feb 22 Javascript
cument.execCommand()用法深入理解
Dec 04 Javascript
JavaScript判断是否是微信浏览器
Jun 13 Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
Jul 19 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
Jul 25 Javascript
javascript验证form表单数据的案例详解
Mar 25 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 #Javascript
node之本地服务器图片上传的方法示例
Mar 26 #Javascript
详解vue-element Tree树形控件填坑路
Mar 26 #Javascript
vue-router 起步步骤详解
Mar 26 #Javascript
JS div匀速移动动画与变速移动动画代码实例
Mar 26 #Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
Mar 26 #Javascript
详解用JS添加和删除class类名
Mar 25 #Javascript
You might like
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
vue表单自定义校验规则介绍
2018/08/28 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
Python中整数的缓存机制讲解
2019/02/16 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
Java模拟试题
2014/11/10 面试题
档案室主任岗位职责
2014/02/12 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
学习保证书范文
2014/04/30 职场文书
文明城市标语
2014/06/16 职场文书
新党章心得体会
2014/09/04 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
2019消防宣传标语!
2019/07/10 职场文书
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL