微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vue中element-ui table滚动加载

  1. //1.在main.js里注册
  2.  Vue.directive('loadmore', {
  3.  bind(el, binding) {
  4.  const selectWrap = el.querySelector('.el-table__body-wrapper')
  5.  selectWrap.addEventListener('scroll', function() {
  6.  let sign = 0
  7.  const scrolldistance = this.scrollHeight - this.scrollTop - this.clientHeight
  8.  if (scrolldistance <= sign) {
  9.  binding.value()
  10.  }
  11.  })
  12.  }
  13.  })
  14. //2.在el-table组件中,使用自定义的事件:v-loadmore=“loadMore”
  15. //3.在methods中调用loadMore
  16. loadMore() {
  17.  if(this.aq == false){//是否已经全部加载
  18.  return
  19.  }
  20.  if(this.page == 1){//首次加载页码加一
  21.  this.page++
  22.  }
  23.  this.$axios({
  24.  method:'get',
  25.  url:数据接口地址,
  26.  params:{
  27.  page:this.page,
  28.  limit:this.limit
  29.  }
  30.  }).then(res=>{
  31.  if(res.data.length > 0){//有数据
  32.  this.page++ //页码加一,下次查询
  33.  res.data.forEach(res => {
  34.  this.tableData.push(res)//push到表格数据集合
  35.  });
  36.  }else{
  37.  this.aq = false //没有数据了
  38.  }
  39.  })
  40.  },

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐