微信小程序用setData修改数组或对象中的一个属性值

Posted 兔子先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序用setData修改数组或对象中的一个属性值相关的知识,希望对你有一定的参考价值。

在page中有如下数组

 1 data: {
 2     info:[
 3       {
 4         name:"yuki",
 5         tou:"../img/head.jpg",
 6         zGong:130,
 7         gMoney:222222
 8       },
 9       {
10         name: "yuki",
11         tou: "../img/head.jpg",
12         zGong: 130,
13         gMoney:222222
14       },
15       {
16         name: "yuki",
17         tou: "../img/head.jpg",
18         zGong: 130,
19         gMoney:222222
20       },
21       {
22         name: "yuki",
23         tou: "../img/head.jpg",
24         zGong: 130,
25         gMoney:222222
26       },
27       {
28         name: "yuki",
29         tou: "../img/head.jpg",
30         zGong: 130,
31         gMoney:222222
32       }
33     ]
34   }

需求:把info[0].gMoney修改成1

一般情况下,我们会这样写

 

但很明显,编辑器已经报错了。

 

解决方法如下:

  第一步:先用一个变量,把(info[0].gMoney)用字符串拼接起来。

  第二步:将变量写在[]里面即可。

 

具体写法如图:

1 onLoad: function () {
2       var that=this;
3       var up = "info[" + 0 + "].gMoney";//先用一个变量,把(info[0].gMoney)用字符串拼接起来
4       that.setData({
5         [up]:1
6       })
7   }

 

以上是关于微信小程序用setData修改数组或对象中的一个属性值的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序中的 this.setData()

关于微信小程序里面this.setData到底怎样或运行的

微信小程序 setData 只修改对象中的一个值,其他值保持不变

微信小程序报错 this.setData?

如何用setData修改数组

微信小程序setData复杂数组的更新删除添加拼接