Antdv3升级问题,导致表格分页选择失效 issues/4185
parent
79571477cf
commit
503475c7ae
|
@ -28,7 +28,10 @@
|
|||
<a-alert type="info" show-icon class="alert" v-if="openRowSelection != null">
|
||||
<template #message>
|
||||
<template v-if="selectRowKeys.length > 0">
|
||||
<span>已选中 {{ selectRowKeys.length }} 条记录(可跨页)</span>
|
||||
<span>
|
||||
<span>已选中 {{ selectRowKeys.length }} 条记录</span>
|
||||
<span v-if="isAcrossPage">(可跨页)</span>
|
||||
</span>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="setSelectedRowKeys([])">清空</a>
|
||||
<slot name="alertAfter" />
|
||||
|
@ -86,8 +89,10 @@
|
|||
const { getSelectRowKeys, setSelectedRowKeys, getRowSelection } = useTableContext();
|
||||
const selectRowKeys = computed(() => getSelectRowKeys());
|
||||
const openRowSelection = computed(() => getRowSelection());
|
||||
// 是否允许跨页选择
|
||||
const isAcrossPage = computed(() => openRowSelection.value?.preserveSelectedRowKeys === true);
|
||||
|
||||
return { prefixCls, handleColumnChange, selectRowKeys, setSelectedRowKeys, openRowSelection };
|
||||
return { prefixCls, handleColumnChange, selectRowKeys, setSelectedRowKeys, openRowSelection, isAcrossPage };
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -16,6 +16,10 @@ export function useRowSelection(propsRef: ComputedRef<BasicTableProps>, tableDat
|
|||
}
|
||||
|
||||
return {
|
||||
// AntDV3.0 之后使用远程加载数据进行分页时,
|
||||
// 默认会清空上一页选择的行数据(导致无法跨页选择),
|
||||
// 将此属性设置为 true 即可解决。
|
||||
preserveSelectedRowKeys: true,
|
||||
selectedRowKeys: unref(selectedRowKeysRef),
|
||||
onChange: (selectedRowKeys: string[]) => {
|
||||
setSelectedRowKeys(selectedRowKeys);
|
||||
|
|
Loading…
Reference in New Issue