标签:el vue res element ui table loadMore page 加载
//1.在main.js里注册
Vue.directive('loadmore', {
bind(el, binding) {
const selectWrap = el.querySelector('.el-table__body-wrapper')
selectWrap.addEventListener('scroll', function() {
let sign = 0
const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight
if (scrollDistance <= sign) {
binding.value()
}
})
}
})
//2.在el-table组件中,使用自定义的事件:v-loadmore=“loadMore”
//3.在methods中调用loadMore
loadMore() {
if(this.aq == false){//是否已经全部加载
return
}
if(this.page == 1){//首次加载页码加一
this.page++
}
this.$axios({
method:'get',
url:数据接口地址,
params:{
page:this.page,
limit:this.limit
}
}).then(res=>{
if(res.data.length > 0){//有数据
this.page++ //页码加一,下次查询
res.data.forEach(res => {
this.tableData.push(res)//push到表格数据集合
});
}else{
this.aq = false //没有数据了
}
})
},
标签:el,vue,res,element,ui,table,loadMore,page,加载 来源: https://www.cnblogs.com/tzwbk/p/16623848.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。