|
@@ -132,12 +132,19 @@ const types = computed(() => [
|
|
...new Set(origin.value.map((item) => item.type)).values(),
|
|
...new Set(origin.value.map((item) => item.type)).values(),
|
|
]);
|
|
]);
|
|
const type = ref(types.value[0]);
|
|
const type = ref(types.value[0]);
|
|
|
|
+const cache = {} as any
|
|
|
|
|
|
const selects = ref<Key[]>(selectIds.value);
|
|
const selects = ref<Key[]>(selectIds.value);
|
|
const rowSelection: any = ref({
|
|
const rowSelection: any = ref({
|
|
selectedRowKeys: selects,
|
|
selectedRowKeys: selects,
|
|
onChange: (ids: number[]) => {
|
|
onChange: (ids: number[]) => {
|
|
- selects.value = Array.from(new Set(ids.concat(selectIds.value)));
|
|
|
|
|
|
+ ids = ids.filter(id => !selectIds.value.includes(id))
|
|
|
|
+ cache[type.value] = ids
|
|
|
|
+ const curIds = [...selectIds.value]
|
|
|
|
+ for (const key in cache) {
|
|
|
|
+ curIds.push(...cache[key])
|
|
|
|
+ }
|
|
|
|
+ selects.value = curIds
|
|
},
|
|
},
|
|
getCheckboxProps: (record: Scene) => ({
|
|
getCheckboxProps: (record: Scene) => ({
|
|
disabled: selectIds.value.includes(record.modelId),
|
|
disabled: selectIds.value.includes(record.modelId),
|