У меня есть массив, который находится в таблице:
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
возврат к предыдущему значению?