1. 程式人生 > >微信小程式 如何用setData修改data中的陣列?

微信小程式 如何用setData修改data中的陣列?

如何用setData修改data中的陣列?

wxml:

<view wx:for="{{reward}}" wx:for-item="i" catchtap="getReward">
    <view wx:if="{{i.status==2}}">
        <image src="{{i.img}}"></image>
        <text>{{i.name}}</text>
    </view>
</view>

js:

1、初始的data資料
Page({
    data
:{ reward:[{ name:"hi", img:"../../img/success.png", status:1
}, { name:"hello", img:"../../img/success.png", status:2 }] } })
2、修改data中reward的status

①. 用[]表示的變數改變數組裡的值

for (let i = 0; i < num; i++) {
    var
index = "reward[" + i + "].status"; this.setData({ [index]: 2 //用[]表示的變數 }); console.log(this.data.reward[i], "reward[" + i + "]"); }

②. 用”“表示數組裡的值

this.setData({
    "reward[0].status": 2     //用""表示數組裡的值
});