1. 程式人生 > >微信小程序:分頁和加載更多

微信小程序:分頁和加載更多

play tro else if api top 交互 more Language else

直接上代碼吧。不足之處,多多指教,一起進步

1.wxml頁面的最後敲上,css自己定義

<view class="loadmore" mtype="{{mtype}}" hidden="{{hidden}}"><text>已經沒有更多了~</text></view>

2.js的初始數據中設置:

data: {
page: 0, //當前頁
totalPage: 0, //總頁數
mtype: 1, //加載更多動畫顯示類型
hidden: true //加載動畫顯示與隱藏
},

3.js的內置觸底函數中如下操作

//頁面滑動到底部
onReachBottom: function (e) {
console.log("lower");
var that = this;
var page = that.data.page + 1; //當前頁+1 = 下一頁
that.getPhotoInfo(page);
},

4.js後臺交互函數

getPhotoInfo:function(e){
var that = this;
var atPage = e; //當前頁
var params = {
page: atPage //頁數
};

if(atPage == 1){
api.getPhotoInfo(params).then(res => {
console.log(res)
if (res[‘code‘] == ‘200‘) {
wx.stopPullDownRefresh(); //停止下拉刷新
//更新數據
that.setData( {
photoInfo: res.data.list,
page: atPage,
totalPage: res.data.totalPage,
hidden: true,
mtype: 1
});
}
})
}else if(atPage <= that.data.totalPage){
api.getPhotoInfo(params).then(res => {
console.log(res)
if (res[‘code‘] == ‘200‘) {
wx.stopPullDownRefresh(); //停止下拉刷新
//更新數據
that.setData( {
photoInfo: that.data.photoInfo.concat(res.data.list), //此處concat類似push,但又不完全是,可以測試下
page: atPage,
totalPage: res.data.totalPage,
hidden: true,
mtype: 1
});
}
})
}else {
//更新數據,已經沒有了 返回
that.setData( {
hidden: false,
mtype: 1
});
}
},

微信小程序:分頁和加載更多