【VUE】无限滚动之vue-infinite-scroll插件
安装vue-infinite-scroll官网是:https://github.com/ElemeFE/vue-infinite-scrollnpm install vue-infinite-scroll --save小编使用的是全局引入import infiniteScroll from 'vue-infinite-scroll'Vue.use(infiniteScroll)页面中使用<d
安装vue-infinite-scroll
官网是:https://github.com/ElemeFE/vue-infinite-scroll
npm install vue-infinite-scroll --save
小编使用的是全局引入
import infiniteScroll from 'vue-infinite-scroll'
Vue.use(infiniteScroll)
页面中使用
<div v-infinite-scroll="loadMore" infinite-scroll-disabled="switchForMore" infinite-scroll-distance="10">
<ul class="list_lmjp_list">
<li v-for="(item, index) in dataArray" :key="index">
<img :src="item.pic" />
</li>
</ul>
</div>
data() {
return {
busy: false,
loading: false,
dataArray: [],
total: 1,
pageSize: 12,
pageNum: 1
};
},
async loadMore() {
if (this.dataArray.length >= this.total) {
this.busy = true;
} else {
this.busy = false;
this.loading = true;
const res = await this.$http.get(`xxxxxxxxx?pageSize=${_this.pageSize}&pageNum=${_this.pageNum}`);
console.log(_this.dataArray);
console.log(res.data);
if (res.data.code == 200) {
this.pageNum = this.pageNum + 1;
this.total = res.data.data.total;
this.loading = false;
this.dataArray.concat(res.data.data.list);
this.dataArray = this.dataArray.concat(res.data.data.list);
this.loading = false;
}
}
}
页面代码展示
配置参数
v-infinite-scroll="loadMore"
表示回调函数是loadMore
infinite-scroll-disabled="busy"
表示由变量busy
决定是否执行loadMore
,false
则执行loadMore
,true
则不执行,注意,busy
表示繁忙,繁忙的时候是不执行的。
infinite-scroll-distance="10"
这里10
决定了页面滚动到离页尾多少像素的时候触发回调函数,10
是像素值。一般情况下会在页尾做一个几十像素高的“正在加载中…”,这样的话,可以把这个div
的高度设为infinite-scroll-distance
的值即可。
infinite-scroll-immediate-check
默认值为true
,该指令表示,应该在绑定后立即检查busy
的值和是否滚动到底。假如你的初始内容高度不够,不足以填满可滚动的容器的话,你应设为true
,这样会立即执行一次loadMore
,会帮你填充一些初始内容。
infinite-scroll-listen-for-event
当事件在Vue实例中发出时,无限滚动将再次检查。
infinite-scroll-throttle-delay
检查busy的值的时间间隔,默认值是200,因为vue-infinite-scroll
的基础原理是,vue-infinite-scroll
会循环检查busy
的值,以及是否滚动到底,只有当:busy
为false
且滚动到底,回调函数才会执行
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)