微信小程序 this.setData 怎么修改json里面的值

微信小程序 this.setData 怎么修改json里面的值

data: {

    prompt: {
        promptMess: false,
        promptButton: true,
        promptTitle: '确认交易完成',
        promptDec: '确认交易完成后,订单不可退货',
    }
}
使用  
this.setData({
   prompt.promptMess: true
})
报错
阅读 8.1k
4 个回答

谢谢大家的回答骂这个问题,我解决了.

    this.setData({
        'prompt.promptMess': false
    })
    用这个就可以解决了 

仔细看文档,要加引号

this.setData({
   'prompt.promptMess': true
})

另外如果有 @i炮兵 说的 this 问题,建议直接使用 es 6 的箭头函数,参考:
https://segmentfault.com/a/11...

你具体代码是?
有可能是遇到this,that的坑了,具体的要看你

this.setData({
   prompt.promptMess: true
})

是在什么地方用的,这个地方的this还是不是你理解的this,一般的做法是先var that=this;
然后再用

that.setData({
   prompt.promptMess: true
})

补充,刚看了mjw的答案想起来了,好像我也是像他那样操作的,当时没有太深究,下面是我以前自己写demo的时候的代码片段

clipboard.png

var newPrompt = this.data.prompt
newPrompt.promptMess = true
this.setData({prompt: newPrompt})

这是直白的写法了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏