需求:1、新建时全选可用,提交后全选不可用;2、提交后新建时选中的记录还要保持选中状态
官网上写的是可以通过 strict 设置为严格模式,当表格中不存在有效数据时列头复选框为禁用状态。
通过设置strict可以实现第一个需求,但是会导致已选中项没有勾选。
解决:将复选框列重新按照自己的需求写逻辑,然后在表格的checkbox-change事件中修改isCheck的值。
下面的代码只是简略记录,不能执行
<vxe-table
ref="vxeTable"
:data="tableList"
:checkbox-config="{
strict: true,
checkMethod: checCheckboxkMethod
}"
@checkbox-change="changeRowSelection"
>
<vxe-table-column type="checkbox" width="60">
<template v-slot="{ row }">
<a-checkbox
:checked="row.isCheck"
:disabled="condition1"
></a-checkbox>
</template>
</vxe-table-column>
......
</vxe-table>
......
<script>
checCheckboxkMethod(){
//这里写你的条件
return false;//禁用 ture为可用
}
changeRowSelection(selection: {
checked: boolean;row:你的类型;
}
){
const { checked, row } = selection;
row.isChecked= checked;
}
</script>