微信小程序模拟实现列表下拉刷新上拉加载

页面配置JSON
{
 "enablePullDownRefresh": true,//开启下拉刷新;
 "onReachBottomDistance": 50//页面上拉触底事件触发时距页面底部距离,单位为px。
}
WXML
<view class="tui-content">
 <view class="tui-menu-list" wx:for="{{dataList}}">Item -- {{item}}</view>
</view>
js

此处用setTimeout模拟请求数据;
加载数据限制三次,调用wx.showToast显示没有更多数据。

Page({
	data: {
	 	dataList: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],
	 	count : 0
 	},
	 onPullDownRefresh(){
	 	var self = this;
	 	setTimeout(() => {
	  	// 模拟请求数据,并渲染
		  	var arr = self.data.dataList, max = Math.max(...arr);
		  	for (var i = max + 1; i <= max + 3; ++i) {
				arr.unshift(i);
			}
	  		self.setData({ dataList: arr });
			  // 数据成功后,停止下拉刷新
			wx.stopPullDownRefresh();
		 }, 1000);
	 },
	 onReachBottom(){
	 	var arr = this.data.dataList, max = Math.max(...arr);
	 	if (this.data.count < 3) {
		  	for (var i = max + 1; i <= max + 5; ++i) {
		  		arr.push(i);
		  	}
			this.setData({
			  dataList: arr,
			  count: ++this.data.count
			 });
	 	} else {
			wx.showToast({
			  title: '没有更多数据了!',
			  image: '../../src/images/noData.png',
			})
	 	}
 	}
})

在每次数据请求完成后,使用wx.stopPullDownRefresh()停止下拉刷新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值