uni-app的下拉刷新和上拉加载

uni-app的下拉刷新和上拉加载

具体都解释都有注释看代码就行

html代码

<!-- 上拉加载 -->
<view class="loadmore" v-if="showLoadMore">{{loadMoreText}}</view>

js代码

data() {
	return {
		commentList:[],  //内容
		loadMoreText:"加载中...", //上拉加载的文字内容
		showLoadMore:false,  //上拉加载的状态
		page:0,   //当前在多少页
		goods_id:''//上个页面传过来的goods_id参数
	}
},
//页面加载
onLoad:function(option){
	//将上个页面传过来的参数存在变量里面
	var goods_id = option.id;
	this.goods_id = goods_id;//将参数存在data里面的goods_id里面方便调用
	this.firstLoad();//进入页面进行首次加载
},
//生命周期函数,监听页面卸载
onUnload() {
	this.commentList = [],
	this.loadMoreText = "加载更多",
	this.showLoadMore = false;
},
onReachBottom() {//上拉加载
	console.log("上拉加载");
	//在这里我定义死了只能取三页的数据,自己传参自定义就好
	if(this.page > 3){
		this.loadMoreText = "没有更多数据了!"
		return;
	}
	this.showLoadMore = true;
	//执行上拉加载的方法
	setTimeout(() => {
		this.againLoad();
	}, 300);
},
onPullDownRefresh(){//上拉刷新方法
	console.log('下拉刷新');
	this.firstLoad();
},
methods: {
	firstLoad(goods_id){
		setTimeout(() => {
			//定义一个变量
			var me = this;
			//拿到goods_id
			var goods_id = me.goods_id;
			me.page = 0;//page定义为0
			me.commentList = [];//将内容清空
			var page = me.page += 1;//加载一次之后page+1
			//通过挂载到main.js中获取服务器的地址作为变量
			var serverUrl = me.serverUrl;
			//根据商品ID查询当前商品的评论
			uni.request({
				url: serverUrl + '/index/carousel/list?goods=' + goods_id + '&page' + page,
				method:"POST",
				success: (res) => {
					//获取真实数据之前,务必判断状态是否为200
					 if(res.data.status == 200){
						var commentList = res.data.data;//将数据赋值给一个变量
						me.commentList = commentList; //将变量赋值给this
					}
				}
			});
			uni.stopPullDownRefresh();
		}, 300);
	},
	againLoad(goods_id,page){
		//定义一个变量
		var me = this;
		var goods_id = me.goods_id;//拿到goods_id
		var page = me.page;//获取当前所在的页数
		var page = me.page = page+1;//加载下一页,所以加一,并且赋值给data里面的page
		//通过挂载到main.js中获取服务器的地址作为变量
		var serverUrl = me.serverUrl;
		//根据商品ID查询当前商品的评论
		uni.request({
			url: serverUrl + '/index/carousel/list?goods=' + goods_id + '&page=' + page,
			method:"POST",
			success: (res) => {
				//获取真实数据之前,务必判断状态是否为200
				 if(res.data.status == 200){
					var commentList = res.data.data;//将数据赋值给一个变量
					me.commentList = me.commentList.concat(commentList);//将数组追加在后面
				 }
			}
		});
	}
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值