赞
踩
利用小程序的触底加载事件 onReachBottom,当页面滚动到底部的时候给当前页 + 1。
(1)在 json 页面中配置到底部的距离:
"onReachBottomDistance": 20
(2)定义 getData 方法, 在 onLoad 进入页面时加载初始化数据
// 获取列表数据
getData() {
...
},
onLoad: function(options) {
this.getData();
}
(3)定义滚动事件
onReachBottom() {
if (this.data.pageNum < this.data.totalPage) {
this.setData({ pageNum: this.data.pageNum + 1 })
this.getData()
}
},
(4)重要部分:当数据请求成功时,如何进行分页请求
// 成功 success(e) { const listData = e.detail.list if (listData.length == 0) { this.setData({ listData: [], loadText: '抱歉,暂无相关数据' }) } else if (e.detail.currentPage == 1) { this.setData({ listData: listData }) } else if (e.detail.currentPage < e.detail.totalPage && e.detail.totalPage !== 1) { this.setData({ listData: this.data.listData.concat(listData), loadText: '数据加载中...' }) } else if (e.detail.currentPage = e.detail.totalPage && e.detail.currentPage !== 1) { this.setData({ listData: this.data.listData.concat(listData), loadText: '已全部加载完成' }) } else { this.setData({ listData: listData, loadText: '已全部加载完成' }) } this.setData({ totalPage: e.detail.totalPage, totalNum: e.detail.totalNum }) }
代码为实际项目粘贴,如有不明确的地方可以具体聊。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。