From 912639999d576c965315bb639ee8970bd4220cbd Mon Sep 17 00:00:00 2001 From: roymondchen Date: Thu, 28 Apr 2022 20:51:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(table):=20action=E5=A2=9E=E5=8A=A0before?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/table/src/ActionsColumn.vue | 3 ++- packages/table/src/schema.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/table/src/ActionsColumn.vue b/packages/table/src/ActionsColumn.vue index b20a277a..c82e2364 100644 --- a/packages/table/src/ActionsColumn.vue +++ b/packages/table/src/ActionsColumn.vue @@ -116,6 +116,7 @@ const copyHandler = async (action: ColumnActionConfig, row: any) => { }; const actionHandler = async (action: ColumnActionConfig, row: any, index: number) => { + await action.before?.(row); if (action.type === 'delete') { await deleteAction(action, row); } else if (action.type === 'copy') { @@ -124,8 +125,8 @@ const actionHandler = async (action: ColumnActionConfig, row: any, index: number props.editState[index] = row; } else { await action.handler?.(row); - action.after?.(); } + action.after?.(row); }; const save = async (index: number, config: ColumnConfig) => { diff --git a/packages/table/src/schema.ts b/packages/table/src/schema.ts index 01b5afd3..7bc4895f 100644 --- a/packages/table/src/schema.ts +++ b/packages/table/src/schema.ts @@ -24,7 +24,8 @@ export interface ColumnActionConfig { text: string; name: string; handler?: (row: any) => Promise | any; - after?: () => void; + before?: (row: any) => void; + after?: (row: any) => void; action?: (data: { data: any }) => void; }