微信小程序上拉加载分页查询
时间: 2023-09-20 17:14:35 浏览: 135
微信小程序的上拉加载分页查询可以通过使用小程序原生组件 `scroll-view` 和 `onReachBottom` 事件来实现。
首先,在 `wxml` 中使用 `scroll-view` 组件来实现滚动条,并使用 `wx:for` 绑定数据列表:
```html
<scroll-view scroll-y="true" bindscrolltolower="onReachBottom">
<view wx:for="{{list}}" wx:key="id">
<!-- 展示数据 -->
</view>
</scroll-view>
```
然后,在 `js` 中监听 `onReachBottom` 事件,在触发事件时,向后端请求下一页数据,并将新数据与已有数据合并:
```javascript
Page({
data: {
list: [], // 已有数据列表
page: 1, // 当前页数
pageSize: 10 // 每页数据量
},
onReachBottom() {
wx.showLoading({
title: '加载中',
mask: true
})
// 请求下一页数据
api.getList(this.data.page + 1, this.data.pageSize).then(res => {
wx.hideLoading()
const newList = res.data.list
if (newList.length) { // 如果有新数据
this.setData({
list: [...this.data.list, ...newList], // 合并数据
page: this.data.page + 1 // 更新页数
})
} else { // 如果没有新数据,说明已经加载完毕
wx.showToast({
title: '已经到底了',
icon: 'none'
})
}
}).catch(() => {
wx.hideLoading()
wx.showToast({
title: '加载失败,请重试',
icon: 'none'
})
})
}
})
```
这样就可以实现微信小程序的上拉加载分页查询了。需要注意的是,在请求数据时需要显示加载提示,避免用户误以为程序出现了问题。同时,如果没有新数据,需要提示用户已经到底了,避免用户不必要的操作。
阅读全文