vue2项目中使用table,使用了checkbox选择某行。操作列内有刷新按钮,可以刷新本行,其他内容都可以刷新(修改改行的item的属性),但是checkbox的状态不修改。
<a-table
bordered
:rowKey="
(record) => {
return record.id
}
"
:columns="aigcColumns"
:row-selection="rowSelection"
>
...
</a-table>
...
computed: {
rowSelection() {
return {
selectedRowKeys: this.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
if(selectedRowKeys.length>this.maxBatchDownloadCount){
this.$message.warning(`最多只可下载${this.maxBatchDownloadCount}个`)
}else{
this.selectedRowKeys = selectedRowKeys;
}
},
getCheckboxProps: record => ({
props: {
disabled: record.status != '1', // 状态1才可以使用
name: record.name,
},
}),
};
},
...
refresh(item){
// 刷新操作,更新了item的status,但是checbox的状态并未改变
}
经过查找发现,可以在table中加入key,刷新操作后key++, 这样table就会重新执行computed了。
<a-table
:key="tableKey"
...
</a-table>
// 刷新操作中
this.tableKey++