前言
问题描述:
<a-table>
组件配置好复选框后,根据官网例子发现勾选也能取到值,但官网没提供清除复选框残留问题。
例如,当勾选数据后,点击【设置办案人】操作完成后,一般业务需求情况下需要清空复选框勾选(打勾)的残留,不能用户设置完相关操作后,你的复选框依然处于选中状态,
你必须执行完操作后,手动清空复选框勾选状态,如下图所示:
解决方案
注意:
rowKey
配置也非常重要,这与复选框紧密相关。
根据以下示例方法进行,最后在你的业务逻辑完成后调用相关方法。
<!--你只需要关注 rowSelection / rowKey 配置selectedRowKeys: 复选框勾选后在你本地data存储的值(后续使用)onSelectChange: 每次复选框发生变化时调用该方法(用于更新本地data存储的值)--><template><div><button @click="resetSelect()">清空复选框(业务完成后)</button><a-table:columns="XXX":data-source="XXX":rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}":rowKey="(record,index) => {return record.id}"/></div></template>
export default {data () {return {selectedRowKeys: [],//复选框数据}},methods: {/*** 复选框变化时触发* @description 表格复选框逻辑(赋值本地data数据)* @param {Object} selectedRowKeys - 选中行的id* @param {Object} selectedRows - 整row行数据* @return void*/onSelectChange: function(selectedRowKeys, selectedRows) {// 用哪个根据实际业务需求// console.log(selectedRowKeys, selectedRows)// 赋值同步本地data接受数据(我这里只取id即可)this.selectedRowKeys = selectedRowKeys},/*** 清空表格复选框* @description 业务完成后调用此方法!* @return void*/resetSelect: function() {this.selectedRowKeys = []},}}