我在表中有一个数组:
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
返回前一个值?