1.思路
在微信小程序中提供了下拉刷新的api(onPullDownRefresh()),那么實現(xiàn)下拉刷新的業(yè)務(wù)就是再下拉的時候,在原有的數(shù)據(jù)中追加新的數(shù)據(jù)
2.代碼實現(xiàn)
2.1 坑一
onPu" />
在微信小程序中提供了下拉刷新的api(onPullDownRefresh()),那么實現(xiàn)下拉刷新的業(yè)務(wù)就是再下拉的時候,在原有的數(shù)據(jù)中追加新的數(shù)據(jù)
2.1 坑一
onPullDownRefresh: function () {
var _this =this;
/**顯示loading */
wx.showNavigationBarLoading();
_this.newsrequest(_this.data.page);
wx.stopPullDownRefresh();
wx.hideNavigationBarLoading();
// console.log(_this.data.newslists)
},
/**請求數(shù)據(jù) */
newsrequest:function(page){
var _this=this;
// console.log(_this.data.page)
requstFfunc.requestData('https://xxxx.cn/Public/Api/index.php', { service: 'Default.Archives', typeid: '44', orderby: '4', page:page, pagesize: '10' }).then(function (data) {
var result = _this.newsdatadecorate(data.data.data.list);
console.log(page)
console.log(result)
var arr=_this.data.newslists;
if (result.length>0){
/*此時會發(fā)現(xiàn)數(shù)據(jù)被添加到原有數(shù)據(jù)的后邊類似上拉加載更多*/
_this.setData({
newslists: _this.data.newslists.concat(result)
});
_this.data.page++;
}
})
},
我們知道數(shù)組的concat方法時講參數(shù)數(shù)組拼接到原有數(shù)據(jù)后邊,所以與我們想要的追加在前面不想符合,想想該數(shù)組前面追加的方法時unshift()更改代碼:
2.2坑二
有人說concat方法時在數(shù)據(jù)后邊追加,那么只要再使用數(shù)組反轉(zhuǎn)reverse()將數(shù)組反轉(zhuǎn),仔細(xì)想想,這種數(shù)據(jù)不是我們想要的下拉刷新的
var arr1 = [1,2,3,4];//原來的數(shù)據(jù)
var arr2 = [5,6,7,8];//后來的數(shù)據(jù)
var arr3 = arr1.concat(arr2);//[1,2,3,4,5,6,7,8];
var arr4 = arr3.reverse();//[8,7,6,5,4,3,2,1]
//但是我們想要的應(yīng)該是
var arr5 =[5,6,7,8,1,2,3,4]
newsrequest:function(page){
var _this=this;
// console.log(_this.data.page)
requstFfunc.requestData('https://xxxx.cn/Public/Api/index.php', { service: 'Default.Archives', typeid: '44', orderby: '4', page:page, pagesize: '10' }).then(function (data) {
var result = _this.newsdatadecorate(data.data.data.list);
console.log(page)
console.log(result)
var arr=_this.data.newslists;
if (result.length>0){
_this.setData({
newslists: _this.data.newslists.concat(result).reverse()
})
_this.data.page++;
}
})
},
2.2坑三
newsrequest:function(page){
var _this=this;
// console.log(_this.data.page)
requstFfunc.requestData('https://xxxx.cn/Public/Api/index.php', { service: 'Default.Archives', typeid: '44', orderby: '4', page:page, pagesize: '10' }).then(function (data) {
var result = _this.newsdatadecorate(data.data.data.list);
console.log(page)
console.log(result)
var arr=_this.data.newslists;
if (result.length>0){
for(var t in result){
_this.data.newslists.unshift(result[t])
}
_this.data.page++;
}
})
},
但是頁面的數(shù)據(jù)不顯示,具體原因不詳,應(yīng)該是this.data.方法設(shè)置數(shù)據(jù),應(yīng)該和頁面的生命周期有關(guān),在數(shù)據(jù)設(shè)置時,頁面已渲染,(自己想想的,不知道對不對) 
這是我們就可以通過中介,將數(shù)據(jù)拼接好了之后,再通過this.setData()方法設(shè)置數(shù)據(jù),這時就可以正常顯示
newsrequest:function(page){
var _this=this;
// console.log(_this.data.page)
requstFfunc.requestData('https://xxxx.cn/Public/Api/index.php', { service: 'Default.Archives', typeid: '44', orderby: '4', page:page, pagesize: '10' }).then(function (data) {
var result = _this.newsdatadecorate(data.data.data.list);
var arr=_this.data.newslists;
if (result.length>0){
for(var v in result){
arr.unshift(result[v])
};
_this.setData({
newslists:arr
});
_this.data.page++;
}
})
},
上述方案雖然成功了實現(xiàn)了數(shù)據(jù)追加,但是。。。且看下邊代碼
var arr1 = [1,2,3,4];//原來的數(shù)據(jù)
var arr2 = [5,6,7,8];//后來的數(shù)據(jù)
var arr3 = arr2.concat(arr1);//[5,6,7,8,1,2,3,4];
//但是我們想要的應(yīng)該是
var arr5 =[5,6,7,8,1,2,3,4]
//此時兩個數(shù)據(jù)是不是一致的呢
newsrequest:function(page){
var _this=this;
// console.log(_this.data.page)
requstFfunc.requestData('https://xxxx.cn/Public/Api/index.php', { service: 'Default.Archives', typeid: '44', orderby: '4', page:page, pagesize: '10' }).then(function (data) {
var result = _this.newsdatadecorate(data.data.data.list);
console.log(page)
console.log(result)
var arr=_this.data.newslists;
if (result.length>0){
_this.setData({
newslists: result.concat(_this.data.newslists)
});
_this.data.page++;
}
})
},
最新動態(tài)
生產(chǎn)小工單能給 生產(chǎn)管理帶來哪些好處?
武漢網(wǎng)站制作公司解鎖軟件開發(fā)能做什么?
營銷型網(wǎng)站與普通網(wǎng)站有什么區(qū)別?——武漢網(wǎng)站建設(shè)
常見問題百寶箱
A2014,有位學(xué)妹不顧家人反對,在上海這個國際化大都市謀了一個公眾號助理的職位。斗志昂揚地奮斗了 3 年,我眼看著她的內(nèi)容駕馭能力突飛猛進(jìn),內(nèi)容質(zhì)量從三流到一流,職位
A文章主要分析了不同的視覺設(shè)計元素是如何影響網(wǎng)站用戶體驗,希望通過文章的解讀能夠?qū)δ愕漠a(chǎn)品設(shè)計帶來些啟發(fā)。 也許是因為我在視覺設(shè)計上沒有太多經(jīng)驗,我發(fā)現(xiàn)
A雙贏系統(tǒng)建站系統(tǒng),三網(wǎng)同步,建站推廣一步到位雙贏系統(tǒng)建站系統(tǒng),三網(wǎng)同步,建站推廣一步到位雙贏系統(tǒng)建站系統(tǒng),三網(wǎng)同步,建站推廣一步到位雙贏系統(tǒng)建站系統(tǒng),三網(wǎng)同步,建站推
027-89992189
掃一掃關(guān)注微信
Copyright 2013-2020 All Rights Reserved 武漢互贏網(wǎng)絡(luò)科技股份有限公司 鄂ICP備19027860號
獲取品牌營銷方案
快速填寫
馬上獲取互聯(lián)網(wǎng)低成本創(chuàng)名牌從此開始!