问题说明
表格中数据变化时 el-checkbox-group v-model 绑定数据为空 选中框数据默认展示的上一次的数据;
原因定位:
有根据 vue2 element-ui el-checkbox 视图不更新问题 这个进行设置一个变更变量刷新视图,发现空数据复选框还是展示的上一次的有值的效果,这个问题和视图不更新还是有区别,有值的数据下拉视图是有更新,只有空值的时候还是展示上一次的值;
想是否因为绑定的值为 undefined 导致,因为之后空的数据才有问题,后面进行了处理一下,复选框绑定的变量为 undefined 的都赋值空数组
[]
,bug修复;
前端代码
<el-table :data="tableData">
<el-table-column type="selection" width="32" align="center"> </el-table-column>
<el-table-column prop="index" label="序号" align="center" width="60" />
<el-table-column label="多选" align="center" min-width="150">
<template slot-scope="{ row }">
<el-select multiple size="mini" v-model="row.list1" placeholder="请选择">
<div>
<el-checkbox label="全选" :indeterminate="isIndeterminate" v-model="isCheckAll" @change="handleCheckAll(row)">
</el-checkbox>
</div>
<el-checkbox-group v-model="row.list1">
<el-option v-for="item in list1Ops" :key="item.code" :label="item.name" :value="item.code">
<el-checkbox :label="item.code" onclick="return false;">{{ item.name }}</el-checkbox>
</el-option>
</el-checkbox-group>
</el-select>
</template>
</el-table-column>
</el-table>
其中
tableData
变化时row.list1
如果从有值变成为null/undefined
会导致复选框展示的是上一次有值的数据,所以row.list1
不能为null/undefined
可以赋值一个空数组[]