VUE无限滚动插件vue-infinite-scroll的使用详解
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
免费下载资源
·
插件安装
在项目中引入vue-infinite-scroll
npm install vue-infinite-scroll --save
插件导入VUE组件
引入插件
import infiniteScroll from "vue-infinite-scroll"
导入指令
export default {
name: "ComFlowList",
directives: {infiniteScroll},
data(){}
}
插件状态数据属性定义
定义插件和数据列表所需用到的数据状态属性,如下:
data(){
return {
dataList: [],
dataPageNum: 1, //列表数据加载页码
dataPageSize: 20, //列表数据加载每页条数
dataLoadStop: false, //列表数据加载停止状态
dataLoadNomore: false //列表数据加载是否完成
}
}
数据加载方法定义
methods:{
/**
* 加载列表数据
*/
loadDataList(){
//锁定数据加载状态
this.dataLoadStop = true;
let requestUrl = this.dataListIntUrl
this.dataListLoadApi(requestUrl,{
pid: this.pid,
cid: this.cid,
mid: this.mid,
pagesize: this.dataPageSize,
pagenum: this.dataPageNum
})
.then( function(response) {
let queryResult = response.data;
let datas = response.data.list;
this.dataList = this.dataList.concat(datas);
if(queryResult.hasnextpage == 1){
this.dataPageNum += 1
this.dataLoadStop = false
}else{
this.dataNomore = true
}
}.bind(this))
.catch(function (error) { // 请求失败处理
console.log(error);
this.dataLoadStop = false
}.bind(this));
},
}
在template中使用插件directive
<template>
<div v-infinite-scroll="loadDataList"
infinite-scroll-disabled="dataLoadStop"
infinite-scroll-distance="50">
<div v-for="(item, idx) in dataList" >
<div class="comdata"><span>{{item.name}}</span></div>
</div>
<div class="list-load-end">
<span>{{dataNomore ? "--我也是有底线的--" : "加载中..."}}</span>
</div>
</div>
</template>
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891
Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)