按钮点击方法,弹出对话框选择取消,form值仍然发生改变,求大神指引
choose(e){
var form=this.data.form
form_contemp=form.items[0]
........经过一系列的操作改变了 form_contemp,其中并未涉及this.setData
form.itemp[0]=form_contemp //反过来给form对应的位置更改数据
wx.showModal({
title:"确认选择为:",
success (res) {
if (res.confirm) {
上传的云数据库的方法,省略
}).then(res=>{
成功后,才setData
console.log(res)
that.setData({
form:form
})
}).catch(err=>{
wx.showToast({
title: '网络出错,请重试',
})
})
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
form=this.data.form 是将this.data.form对象的内存地址传递给form ,修改form变量就是修改this.data.form。除非你用JSON.stringify()深拷贝。setData仅仅是将数据更新到模板。