监听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 $(document).ready() 与window.onload的区别
Dec 28 Javascript
jquery入门必备的基本认识及实例(整理)
Jun 24 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
Dec 05 Javascript
解决json日期格式问题的3种方法
Feb 02 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
Vue 实现树形视图数据功能
May 07 Javascript
对Vue table 动态表格td可编辑的方法详解
Aug 28 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
Nov 08 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
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
Python实现简单HTML表格解析的方法
2015/06/15 Python
Python中模块string.py详解
2017/03/12 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Django的Modelforms用法简介
2019/07/27 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
招聘专员岗位职责
2014/03/07 职场文书
十八大标语口号
2014/10/09 职场文书
教师工作总结范文2014
2014/11/10 职场文书
车间质检员岗位职责
2015/04/08 职场文书
工作建议书范文
2019/07/08 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
sql注入教程之类型以及提交注入
2021/08/02 MySQL
python读取mnist数据集方法案例详解
2021/09/04 Python
mysql事务对效率的影响分析总结
2021/10/24 MySQL
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python