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>
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:3 个月前 )
9e887079
[skip ci] 1 年前
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> 1 年前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)