【element-ui】el-table横向滚动后,通过is-scrolling-left获取滚动高度失效的问题

el-table横向滚动后,通过is-scrolling-left获取滚动高度失效的问题

需求

现在有一个需求,需要监听el-table的纵向滚动,当滚动高度达到特定值时进行一些操作。
代码如下:

methods:{
	throttledHandleScroll() {
      // 如果已经有定时器存在,则不执行方法,实现节流
      if (this.throttleTimer || this.paging) return;
      this.throttleTimer = setTimeout(() => {
        this.handleScroll(); // 实际执行滚动逻辑的方法
        this.throttleTimer = null; // 执行完后清空定时器ID,允许下次触发
      }, 100); // 200毫秒的节流时间间隔
    },
	handleScroll() {
      let dom = this.$refs.multipleTable.$el.getElementsByClassName('is-scrolling-left')[0];
      if (dom) {
        // console.log('handleScroll', dom.scrollTop);
        if (dom.scrollTop >= 80) {
          this.hiddenFilter = true;
        }
        if (dom.scrollTop <= 0) {
          this.hiddenFilter = false;
        }
      }
    },
},
mounted() {
    this.$nextTick(() => {
      this.$refs.multipleTable.$el
        .getElementsByClassName('is-scrolling-left')[0]
        .addEventListener('scroll', this.throttledHandleScroll);
    });
  },
beforeDestroy() {
  this.$refs.multipleTable.$el
    .getElementsByClassName('is-scrolling-left')[0]
    .addEventListener('scroll', this.throttledHandleScroll);
},

问题

当el-table横向滚动之后,

let dom = this.$refs.multipleTable.$el.getElementsByClassName('is-scrolling-left')[0];

会取得一个undefind,也就是说没有找到类名为is-scrolling-left的元素。

原因

随着el-table的横向滚动,is-scrolling-left这个类名会依次变化为is-scrolling-middle,is-scrolling-right

解决

使用el-table__body-wrapper替换is-scrolling-left,el-table__body-wrapper这个类名是永远不会变动的
handleScroll方法中获取dom的一行修改为

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 12:26:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 12:26:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 12:26:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 12:26:03       20 阅读

热门阅读

  1. 代码随想录训练营27day-贪心算法5

    2024-04-29 12:26:03       9 阅读
  2. c++ noncopyable

    2024-04-29 12:26:03       12 阅读
  3. 第三方支付法律困境及其保障机制分析

    2024-04-29 12:26:03       12 阅读
  4. Qt :Ordered Map

    2024-04-29 12:26:03       12 阅读
  5. ES8中Object方法-使用说明

    2024-04-29 12:26:03       11 阅读
  6. 双非二本找工作前的准备day13

    2024-04-29 12:26:03       10 阅读
  7. pytorch对音频数据的读取和保存

    2024-04-29 12:26:03       10 阅读
  8. Linux深入学习 - 进程

    2024-04-29 12:26:03       15 阅读
  9. stm32 boot脚设计

    2024-04-29 12:26:03       11 阅读
  10. FreeLearning Golang 译文集翻译完成

    2024-04-29 12:26:03       12 阅读