vue 滚动条触底指令

//main.js
Vue.directive('tableScroll', {
  bind(el, binding, vnode, oldVnode) {
      let scrollTop = 0;
      let dom = el.querySelector(".el-table__body-wrapper");
      dom.addEventListener("scroll", (e) => {
          // let isBottom = (dom.scrollHeight).toFixed(0) - (dom.scrollTop).toFixed(0) === dom.clientHeight;
          let isBottom = (dom.scrollHeight).toFixed(0) - (dom.scrollTop).toFixed(0)-dom.clientHeight<=10
          let isHorizontal = scrollTop == dom.scrollTop;
          if (isBottom && !isHorizontal && dom.scrollTop != 0) {
              if (binding.value) {
                  binding.value()
              }
          }
          if (!isHorizontal) {
              scrollTop = dom.scrollTop;
          }
      });
  }
})

//引用

<el-table v-table-scroll="setTableData">

setTableData(clear) {
      if(!clear){
      //触底加载更多
        this.$emit("numChange",this.numb,{num:0,ids:this.selectId})
      }
    }, 
原文地址:https://www.cnblogs.com/FormerWhite/p/15016080.html