Page({
/**
*
*/
data: {
category:[],
ctime:[],
target:[],
addres:[],
index: 0,
indextarget:0,
indexcategory:0,
indexctime:0,
indexaddres:0,
addresinit:true,
ctimeinit:true,
targeinit:true,
categoryinit:true,
menuTapCurrent:0,
selectaddres:"",
selectctime:""
},
bindaddresChange:function(e) {
// console.log("picker", e.detail.value)
this.setData({
indexaddres: e.detail.value,
addresinit:false,
selectaddres:this.data.addres[this.data.indexaddres] //
})
console.log(this.data.addres[this.data.indexaddres],"")
this.schoolList()
},
/**
* --
*/
schoolList:function(obj={ctime:"",addres:""}){
console.log( this.data.selectaddres,"")
wx.request({
url: schoolsearch ,//
method: "GET",
header: {
"content-type": "application/x-www-form-urlencoded"
},
data: {
page:1,
ctime:this.data.selectctime,
addres:this.data.selectaddres
},
success: (res) => {
console.log(res,"shoole")
},
fail: function (res) {
console.log(res)
}
})
},
onLoad: function (options) {
//
this.schoolList()
},
})
roughly means that I encapsulate an interface to query the list of schools called schoolList.
when I choose the bindaddresChange method of the school address, I have changed the selectaddres, and agreed to it in the first step. I have just chosen the address. However, when I call the schoolList method to filter below, the value of selectaddres is not what I just selected. I know that the this.setData is asynchronous. The callback function can be written in this.setData ({userInfo: userInfo}, callback)) for online query, but it still doesn"t work. Has anyone ever encountered such a problem?