vuejs проверяет обновление массива и снимает отметку возврата в предыдущее состояние - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть массив, который находится в таблице:

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 возврат к предыдущему значению?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...