vuejs检查更新数组并取消选中返回到先前状态

时间:2019-02-05 13:14:55

标签: arrays vue.js vuejs2

我在表中有一个数组:

mainArray = [
 {
   'id' => 23,
   'value' => 34545
 },
 {
   'id' => 24,
   'value' => 745645
 },
 {
   'id' => 25,
   'value' => 456456
 }
]

我有一个复选框会触发:

<b-table
        :data="Object.values(expenses)"
        :checked-rows.sync="checkedRows"
        :is-row-checkable="(row) => row.status !== 'Paid'"
        checkable
      >
</b-table>

我有watcher

watch: {
    checkedRows: function(newVal, oldVal) {
        this.updateValue(newVal);
    }
  }

使用以下方法可以使值0

updateValue({ getters }, param) {
 state.mainArray.forEach((e1) => {
    param.map(function (selectedValue) {
        if (selectedValue.id == e1.id) {
            Vue.set(selectedValue, "value", 0);
        }
    })
 });
}

我确实使用_.cloneDeep()来克隆原始阵列并更新克隆的一个并保持原始状态不变。

如何通过一种方法来更新观察者checkedRows,复选框为checked,值为0,而uncheck返回前一个值?

0 个答案:

没有答案