uniapp组件scroll-view+Uview的loadMore 加载更多,实现上拉加载效果

困扰了我这脑瓜子许久的问题解决了,撒花庆祝,感动哭~

uniapp组件scroll-view+Uview的loadMore 加载更多,效果就是上拉加载,并显示相应状态效果

html:

 @scrolltolower="bottomOut()"是scroll-view的触底触发事件

<scroll-view :scroll-y="true" class="scrollView" @scrolltolower="bottomOut()">
    <view class="dayDataListBigBox" v-for="(item, index) in datas" :key="index">
        item.xx循环渲染的数据
    </view>
</scroll-view>
<u-loadmore :status="status" />

script=>data定义初始状态:

status: 'loadmore',//初始加载状态
page: 1,//默认页数
limit: 7,//一页加载数据条数

script=>methods:

//触底加载数据
bottomOut() {
	this.status = 'loading';//滑到底部的时候显示状态为加载中
	this.page += 1;//请求页数+1
    //判断没数据后停止请求接口数据,并修改显示状态为没有更多
    if(this.page >= 6){
		this.status = 'nomore';
		return;
	}
	this.getDriverLogs();//调用数据请求
},

//数据请求根据自己情况写,我是封装好的请求,所以只展示部分相关代码
//此代码写在请求完成后
this.status = 'loadmore';//加载完成后状态改成加载前

//如果也是请求为1,也就是第一次请求时this.datas存储需要的数据
if(this.page == 1){
	this.datas = res.data;
}

//如果也是请求>1,也就是第二次之后请求时,使用concat拼接新老数据到this.datas
if (this.page > 1) {
	this.datas=this.datas.concat(res.data);
}
//判断没有数据后执行
if(this.page >=1 && res.data.length<7|| res.data.length==0){
	this.status = 'nomore';
	return;
}

我写的比较粗糙,如果有更好的方法希望多多提议~

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值