监听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 相关文章推荐
取选中的radio的值
Jan 11 Javascript
jquery.idTabs 选项卡使用示例代码
Sep 03 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 Javascript
jQuery实现用户输入自动完成功能
Feb 13 Javascript
javascript实现下雨效果
Mar 27 Javascript
基于iScroll实现下拉刷新和上滑加载效果
Jul 18 Javascript
基于js的变量提升和函数提升(详解)
Sep 17 Javascript
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
详解Webpack-dev-server的proxy用法
Sep 08 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
vue表单数据交互提交演示教程
Nov 13 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实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
新手入门常用代码集锦
2007/01/11 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
利用python3随机生成中文字符的实现方法
2017/11/24 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
实现Python与STM32通信方式
2019/12/18 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
乡镇干部先进事迹材料
2014/02/03 职场文书
毕业班联欢会主持词
2014/03/27 职场文书
汽车促销活动方案
2014/03/31 职场文书
顶岗实习计划书
2015/01/16 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
亮剑观后感500字
2015/06/05 职场文书
政审证明材料
2015/06/19 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
同学聚会开幕词
2019/04/02 职场文书
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA