我有一个客户列表,它实际上是一个对象数组。我将它存储在 Vuex 中。我在我的组件中呈现列表,每一行都有一个复选框。更准确地说,我使用了敏锐的 UI,复选框渲染部分如下所示:
<tr v-for="customer in customers" :class="{ selected: customer.selected }">
<td>
<ui-checkbox :value.sync="customer.selected"></ui-checkbox>
</td>
<td>{{ customer.name }}</td>
<td>{{ customer.email }}</td>
</tr>
所以复选框直接改变了客户数组,这是不好的:我在 Vuex 中使用严格模式,它会抛出一个错误。
我想跟踪数组何时更改并调用操作以更改 vuex 状态:
watch: {
'customers': {
handler() {
// ...
},
deep: true
}
然而,它仍然直接改变了客户。我怎样才能解决这个问题?