uniapp下拉刷新和上拉请求

本文详细介绍了在uniapp中实现下拉刷新和上拉加载更多功能的方法。通过配置pages.json并使用生命周期函数onPullDownRefresh和onReachBottom,结合request请求完成数据的实时刷新与加载。同时提供了具体实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、uniapp下拉刷新

  • 在pages.json中为需要下拉刷新的页面添加enablePullDownRefresh为true
  • 使用生命周期函数onPullDownRefresh配合request请求完成数据刷新
{
	"path": "pages/goods/goods",
	"style": {
		"enablePullDownRefresh": true
	 }
}

二、uniapp上拉请求

  • 使用生命周期函数onReachBottom监听页面触底,并配合request请求完成数据刷新

三、具体实现代码如下

<template>
	<view class="goodBackground">
		<goods-list :goods="goods"></goods-list>
		<view class="isOver" v-if="flag">————— 没有更多了 —————</view>
	</view>
</template>

<script>
	import goodsList from '../../components/goods-list/goods-list.vue'
	export default {
		components: {
			"goods-list": goodsList
		},
		data() {
			return {
				goods: [],
				pageindex: 1,
				flag: false
			}
		},
		methods: {
			async getGoodsList(callBak) {
				const goodsList = await this.$myRequest({
					url: '/api/getgoods?pageindex=' + this.pageindex
				})
				this.goods = [...this.goods, ...goodsList.data.message]
				callBak && callBak()
			}
		},
		onLoad() {
			this.getGoodsList()
		},
		onReachBottom() {
			if (this.goods.length < this.pageindex * 10) {
				this.flag = true
				return
			}
			this.pageindex++
			this.getGoodsList()
		},
		onPullDownRefresh() {
			this.goods = []
			this.pageindex = 1
			this.flag = false
			//此处使用定时器可查看出下拉刷新效果
			setTimeout(() => {
				this.getGoodsList(() => {
					uni.stopPullDownRefresh()
				})
			}, 1000)
		}
	}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值