setLike: function(e) {
//wxml中傳值data-index data-id
service_common.fetchData(service_common.getUrl("Love"), {////這里是封裝好的請求,參考小程序wx.request({})
id: e.currentTarget.dataset.id//點贊哪一條
}, (res) => {
if (res.data.code == 0) {//請求成功,具體參考服務器返回的狀態(tài)碼
var page = Math.ceil(e.currentTarget.dataset.index / 15) //取頁數 向上取整
if (page == 0) {//針對下標為0的操作
page = 1
}
//將下標和id賦值到變量dataID,INDEX,后面會用到
this.setData({
dataID:e.currentTarget.dataset.id,
INDEX: e.currentTarget.dataset.index
})
this.getWrqList(page, 0)//帶過去的參數頁數,page是操作的數據當前所在的頁數,0是代表我要局部渲染,獲取數據的時候進行判斷(-1:正常邏輯操作。0:局部渲染)
}
}, "GET");
},
getData:function(pg=this.data.page,ty=-1){//頁數默認是page,pg只有在操作數據的時候才會使用到,ty默認等于-1,否則就是操作某條數據需要進行局部渲染操作。
service_common.fetchData(service_common.getUrl("getDataList"), {//這里是封裝好的請求,參考小程序wx.request({})
page: pg
}, (res) => {
if (res.data.code == 0) {//數據請求成功,具體參考服務器返回的狀態(tài)碼
if (ty == -1) {//-1正常邏輯操作
if (this.data.page == 1) {//如果是第一頁,直接替換掉List
this.setData({
List: res.data.data
})
} else {
//如果是1+頁需要用concat進行數組合并,組成新的數組,賦值給List
if (res.data.data.length == 0) {
if (this.data.List.length >= 10) {//為了防止只有幾條數據就會彈出來這個提示,所以建議List數據大于10條才彈出
wx.showToast({
title: '數據加載完成',
})
}
} else {
//上拉加載后數組合并
this.data.List= this.data.List.concat(res.data.data)
this.setData({
List: this.data.List,
offon:true
})
}
}
} else {
//0走操作單條數據,需要局部渲染操作
for (var i in res.data.data) {//循環(huán)獲取到對應頁數的數據,循環(huán)查找相對應id的數據,這條數據就是最新的,
if (res.data.data[i].id == this.data.dataID) {
//res.data.data[i]就是最新獲取的數據,替換掉原來List[index]的數據
this.setData({
[`demandList[${this.data.INDEX}]`]: res.data.data[i]
})
//結束
return
}
}
}
}
}, "GET");
},
// 觸底操作
onReachBottom: function() {
if (this.data.offon){//是否還可以下拉刷新
this.data.offon=false//默認關閉下拉刷新,請求成功后自動開啟
this.data.page += 1
this.setData({
page: this.data.page,
offon: this.data.offon
})
this.getData()
},
|