<CheckboxGroup class="record-transfer-checkbox" v-model="checkAllGroup">
model绑定数组checkAllGroup,在点击全选按钮触发handleCheckAll方法时,选中则会push拉取的数据到checkAllGroup中,取消选中会清空数组。但是当全选按钮 选中=》去选=》选中时报错:不能在mutation 外更改状态值。
源代码:
handleCheckAll(bool) { if (bool) { let newObj = []; this.recordInfo.list.forEach(item => { // 避免重复id存入数组 if (this.checkAllGroup.indexOf(item.id) < 0) { this.checkAllGroup.push(item.id) }}) } else { this.checkAllGroup = []; } }
解决:
handleCheckAll(bool) { if (bool) { let newObj = []; this.recordInfo.list.forEach(item => { newObj.push(item.id);}); // 避免重复id存入数组 this.checkAllGroup = Array.from(new Set(newObj)); } else { this.checkAllGroup = []; } }
小白解析:问题在于之前直接更改了数组值,不过并没有存在vuex中。而重新开辟一个空间并将应用付给checkAllGroup ,就不会出现更改原内存中的数据。和vuex的状态有何关系,希望大神解答!!!!