chooseImage: function (r) { var that = this; wx.scanCode({ success: async function (r) { console.log("扫描结果为:" + r.result) wx.showToast({ title: "扫描成功", icon: "success" }), await that.setData({ result: r.result }); db.collection('threepartys').doc(r.result).get().then(res => { console.log(res) that.setData({threepartys:res.date}) }) }, fail: function (r) { wx.showToast({ title: "没有扫描到二维码!", icon: "none" }); } }); },这段代码为啥会报错,报错信息是:Setting data field "threepartys" to undefined is invalid
时间: 2023-06-17 15:07:14 浏览: 122
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
根据报错信息,是因为在设置数据字段"threepartys"时,值为undefined,是无效的。可能是因为在setData之前没有定义或赋值threepartys字段。
建议在setData之前,先定义并赋初值:
```
data: {
threepartys: {} // 或者根据需要定义为数组[]
}
```
或者在setData时,判断一下数据是否为undefined:
```
setData({
threepartys: res.date || {}
})
```
这样,如果res.date为undefined,就会设置threepartys为一个空对象{},而不是undefined。
阅读全文