vue中使用@scroll实现分页处理(分页要做节流处理)

Posted angiy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中使用@scroll实现分页处理(分页要做节流处理)相关的知识,希望对你有一定的参考价值。

监听@scrll滚动条事件
<div class="hhhh" @scroll="page($event)"> <div>所要滚动的内容</div> </div>

设置一个开关为分页节流做处理(不节流回一次加载多个page次数)

data(){
return{
falg:true
}
}

 

在methods中做分页处理:

 methods: {
created(){
this.List()
} async List(){ const result
= await this.$api.bbb(this.page, this.pageSize); if(resulit){ //请求数据成功 this.list=[...this.list,...result.data] //分页节流判断 this.falg=false }else{ //请求失败 } } //分页处理 page(e) { let Scroll = e.target; let scrollHeight = Scroll.scrollHeight - Scroll.clientHeight; if (scrollHeight - Scroll.scrollTop < 100 && !falg) { this.falg = true; this.page++; this.List(); } }, }

分页的节流:设置一个开关,如果为false时进入触发page++,执行List(),并且触发前设置开关为true,并且在List()函数里设置开关为false,(开关为true不能执行分页,为false执行分页)

以上是关于vue中使用@scroll实现分页处理(分页要做节流处理)的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch:运用scroll接口对大量数据实现更好的分页

vue+element中的 InfiniteScroll 无限滚动 实现分页请求数据

基于react-PC端打印分页技术解决方案

elementui无限动态加载分页

Vue使用Element-UI实现分页效果

网易一面:select分页要调优100倍,说说你的思路? (内含Mysql的36军规)