From aa596af608a313a5494db8e3ddbf0ef84c7f0c55 Mon Sep 17 00:00:00 2001 From: vben Date: Sat, 2 Jan 2021 10:04:46 +0800 Subject: [PATCH] fix(table): table columns setting will uncheck all render columns #154 --- .../Table/src/components/editable/EditableCell.vue | 6 +++--- src/components/Table/src/hooks/useColumns.ts | 3 ++- src/settings/projectSetting.ts | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue index bc7b53fc..a0b6e2f9 100644 --- a/src/components/Table/src/components/editable/EditableCell.vue +++ b/src/components/Table/src/components/editable/EditableCell.vue @@ -250,7 +250,7 @@ if (props.record) { /* eslint-disable */ isArray(props.record[cbs]) - ? props.record[cbs].push(handle) + ? props.record[cbs]?.push(handle) : (props.record[cbs] = [handle]); } } @@ -267,9 +267,9 @@ /* eslint-disable */ props.record.onSubmitEdit = async () => { if (isArray(props.record?.submitCbs)) { - const validFns = props.record?.validCbs || []; + const validFns = (props.record?.validCbs || []).map((fn) => fn()); - const res = await Promise.all(validFns.map((fn) => fn())); + const res = await Promise.all(validFns); const pass = res.every((item) => !!item); if (!pass) return; diff --git a/src/components/Table/src/hooks/useColumns.ts b/src/components/Table/src/hooks/useColumns.ts index e2c882e6..642bc192 100644 --- a/src/components/Table/src/hooks/useColumns.ts +++ b/src/components/Table/src/hooks/useColumns.ts @@ -185,13 +185,14 @@ export function useColumns( const columnKeys = columns as string[]; const newColumns: BasicColumn[] = []; cacheColumns.forEach((item) => { - if (columnKeys.includes(`${item.key}`! || item.dataIndex!)) { + if (columnKeys.includes(item.dataIndex! || (item.key as string))) { newColumns.push({ ...item, defaultHidden: false, }); } }); + // Sort according to another array if (!isEqual(cacheKeys, columns)) { newColumns.sort((prev, next) => { diff --git a/src/settings/projectSetting.ts b/src/settings/projectSetting.ts index 0038332a..9efe4ef0 100644 --- a/src/settings/projectSetting.ts +++ b/src/settings/projectSetting.ts @@ -109,7 +109,7 @@ const setting: ProjectConfig = { // Switch page to close menu closeMixSidebarOnChange: false, // Module opening method ‘click’ |'hover' - mixSideTrigger: 'hover', + mixSideTrigger: 'click', }, // Multi-label