直接看代码:
简单来说就是我有一个shops数组,想要直接通过选择地址给数组元素的location属性赋值,就这么简单一个操作,每次选完地址点击确认都是获取成功一会(不到1s钟),显示地址一小会然后立马就消失了,不知道咋回事,感觉已经设置成功了,但是马上就被清空了
changeShopLocation(e) {
var that = this
var x = "shops["+e.currentTarget.dataset.id+"].location"
wx.chooseLocation({
success: function(res) {
that.setData({
[x]:res
})
},
})
},
你的e.currentTarget.dataset.id是数字吧
主要是如果id是数字会存在一个问题
假设shops原来为空数组,即shops = []
而假设e.currentTarget.dataset.id为2
setData后,shops的值为 [empty, empty, {location内容}]
这时候,shops[0]和shops[1]是空的
你先把location打印下看看吧,以及加个fail的回调处理,我怕你没授权获取地址的
补充一下,如果是直接有一个location变量,然后直接给这个location赋值,是可以赋值成功的,此问题貌似出在数组赋值上