uni-app学习笔记三十三--触底加载更多和下拉刷新的实现

触底加载更多在APP和小程序中使用中是很常见的场景,当用户划到底部时需要追加数据加以显示,当用户往下拉时需要实现有新的数据时将新数据放到顶部。

下面来说下这2种功能的实现方式

一.触底加载更多

核心代码实现:

onReachBottom(()=>{
	console.log("触底加载更多...")
	getPets()
})

function getPets(){
	uni.request({
		url:"https://tea.qingnian8.com/tools/petShow",
		data:{size:5},
		header:{"access-key":428771}
	}).then(res=>{
		if(res.data.errCode === 0){
			console.log(res)
			pets.value = [...pets.value,...res.data.data]
			console.log(pets.value)
		}else if(res.data.errCode === 400){
			uni.showToast({
				title:res.data.errMsg,
				icon:"none",
				duration:2000
			})
		}
	})
 }

处理的逻辑在于:将触底时,调用onReachBottom函数,onReachBottom调用getPets方法,向后台请求数据,并将数据追加到之前的数组中

pets.value = [...pets.value,...res.data.data]

二.下拉刷新

下拉刷新时,先清空以前的数据,再重新请求接口拿到新数据去填充。

onPullDownRefresh(()=>{
	pets.value=[]
	getPets()
})

获取到数据后,在request请求的finally代码块停止刷新

finally(()=>{
	uni.stopPullDownRefresh()
})

你可能感兴趣的:(uni-app,学习,笔记)