微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

微信小程序 setData 的问题解决方法

最近在使用微信小程序的setData时,遇到了以下问题。

官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的:

rush:xml;toolbar:false;">Page({
data: {
array: [{text: 'init data'}],
},
changeItemInArray: function() {
this.setData({'array[0].text':'changed data'
})
}
})

使用了 ‘array[0].text’ : ‘changed data’ 这样的值。但在实际使用中,我们对数组的中的某个元素的设置是动态的。即 我们通常应该是 ‘array[‘+index+’].text’ : ‘changed data’ ,其中index应该是一个动态的数字。但显然,这样是无法使用在对象的key中的。 所以,我只能使用了一个变通的方法。如下:

rush:js;toolbar:false">var param = {};var string = "array["+index+"].text;
param[string] = 'changed data';
that.setData(param);

即提前把对象准备好。希望以后可以有更好的方法

原文地址:https://www.jb51.cc/weapp/1440.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。