收藏
回答

微信小程序方法中非setdata可以设置data值?每次点击无论点击确定还是取消,form已经改变?

按钮点击方法,弹出对话框选择取消,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('用户点击取消')

   

     }

}

回答关注问题邀请回答
收藏

1 个回答

  • 子小柒
    子小柒
    2021-11-26

    form=this.data.form 是将this.data.form对象的内存地址传递给form ,修改form变量就是修改this.data.form。除非你用JSON.stringify()深拷贝。setData仅仅是将数据更新到模板。

    2021-11-26
    有用 1
    回复
登录 后发表内容