前端vue简单好用的上拉加载 下拉刷新组件,支持列表分页 本地分页(更新版)

前端vue简单好用的上拉加载下拉刷新组件,支持列表分页 本地分页, 下载完整代码请访问uni-app插件市场地址: ext.dcloud.net.cn/plugin?id=1…

效果图如下:

使用方法





<!-- pullDown:下拉刷新 back-top: 回到顶部  ref:唯一ref onReachBottom:为上拉加载方法 -->




<ccPullScroll class="pullScrollView" ref="pullScroll" :back-top="true" :pullDown="pullDown">




</ccPullScroll>




HTML代码部分





<template>




<view class="content">




<!--  -->




<div class="mui-content-padded">



<!-- pullDown:下拉刷新 back-top: 回到顶部  -->



<ccPullScroll class="pullScrollView" ref="pullScroll" :back-top="true" :pullDown="pullDown">



<!-- 列表组件 -->



<CCBProjectList :productList="projectList" @click="goProDetail"></CCBProjectList>



</ccPullScroll>



</div>



</view>



</template>



JS代码 (引入组件 填充数据)





<script>




import CCBProjectList from '../../components/ccPageView/CCProjectList.vue';




import ccPullScroll from '../../components/ccPullScroll/index.vue'




export default {



components: {



CCBProjectList,



ccPullScroll



},



data() {



return {



// 列表总数量



totalNum: 60,



//  页码 默认1开始


curPageNum: 1,


// 列表数组


projectList: []


}


},

mounted() {

// 页面刷新方法 会自动调用pulldown一次

this.pageRefresh();

},

methods: {

pageRefresh() {

let myThis = this;

this.$nextTick(() => {

myThis.$refs.pullScroll.refresh();

});

},

pullDown(pullScroll) {

console.log('下拉刷新');

this.projectList = [];

this.curPageNum = 1;

setTimeout(() => {

this.requestData(pullScroll);

}, 300);

},

// 上拉加载

onReachBottom() {

// 数据全部加载完

if (this.curPageNum * 10 >= this.totalNum) {

} else {

this.curPageNum++;

this.requestData();

}

},

// 列表条目点击事件

goProDetail(item) {

},

requestData() {

// 模拟请求参数设置

let reqData = {

'area': '',

"pageSize": 10,

"pageNo": this.curPageNum

}

let myThis = this;

setTimeout(function() {

// 模拟请求接口

for (let i = 0; i < 10; i++) {

myThis.projectList.push({

'proName': '产品名称' + i,

'proUnit': '公司名称' + i,

'area': '广东省',

'proType': '省级项目',

'stage': '已开工',

'id': 10 * (myThis.curPageNum + i) + myThis.curPageNum + ''

});

}

// 列表总数量

myThis.totalNum = 60;

// 如果是最后一页

if (myThis.curPageNum * 10 >= myThis.totalNum) {

myThis.$refs.pullScroll.finish();

} else {

// 不是最后一页

myThis.$refs.pullScroll.success();

}

}, 600);

}

}

}

</script>

CSS





<style>




page {




background-color: #f7f7f7;




}



.content {



display: flex;



flex-direction: column;



}



.mui-content-padded {



margin: 0px 14px;



/* background-color: #ffffff; */



}



.pullScrollView {


display: flex;


flex-direction: column;


}


</style>


© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYqAjkRq' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片