From 98c2e2ff1fdd18cbb6a245e55eb6a32f0e2ea164 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Thu, 25 Dec 2025 19:16:17 +0800 Subject: [PATCH] =?UTF-8?q?fix(table):=20=E8=A1=8C=E5=86=85=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=97=A0=E6=B3=95=E4=BF=AE=E6=94=B9=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/table/src/ActionsColumn.vue | 39 ++++++++++++++++------------ packages/table/src/Table.vue | 3 +++ packages/table/src/TextColumn.vue | 33 +++++++++++++++-------- packages/table/src/schema.ts | 4 ++- 4 files changed, 50 insertions(+), 29 deletions(-) diff --git a/packages/table/src/ActionsColumn.vue b/packages/table/src/ActionsColumn.vue index 7d834cc2..d50279a6 100644 --- a/packages/table/src/ActionsColumn.vue +++ b/packages/table/src/ActionsColumn.vue @@ -32,14 +32,16 @@ class="action-btn" v-show="editState[index]" link - type="primary" + type="danger" size="small" - @click="editState[index] = undefined" + @click="cancel(index, config)" >取消 diff --git a/packages/table/src/Table.vue b/packages/table/src/Table.vue index 28163ab2..55b36ccc 100644 --- a/packages/table/src/Table.vue +++ b/packages/table/src/Table.vue @@ -73,6 +73,7 @@ const props = withDefaults( const emit = defineEmits([ 'sort-change', 'after-action', + 'after-action-cancel', 'select', 'select-all', 'selection-change', @@ -102,6 +103,8 @@ const cellRender = (config: ColumnConfig, { row = {}, $index }: any) => { rowkeyName: props.rowkeyName, editState: editState.value, columns: props.columns, + onAfterAction: (payload: { index: number }) => emit('after-action', payload), + onAfterActionCancel: (payload: { index: number }) => emit('after-action-cancel', payload), }); } if (config.type === 'popover') { diff --git a/packages/table/src/TextColumn.vue b/packages/table/src/TextColumn.vue index 1d701d70..2043e168 100644 --- a/packages/table/src/TextColumn.vue +++ b/packages/table/src/TextColumn.vue @@ -2,15 +2,13 @@
{{ config.pageIndex && config.pageSize ? config.pageIndex * config.pageSize + index + 1 : index + 1 }}
- - - + diff --git a/packages/table/src/schema.ts b/packages/table/src/schema.ts index a3f5f3fc..17c2a99c 100644 --- a/packages/table/src/schema.ts +++ b/packages/table/src/schema.ts @@ -31,7 +31,8 @@ export interface ColumnActionConfig { handler?: (row: any, index: number) => Promise | any; before?: (row: any, index: number) => Promise | void; after?: (row: any, index: number) => Promise | void; - action?: (data: { data: any }) => Promise | void; + action?: (data: { data: any; index: number }) => Promise | void; + cancel?: (data: { index: number }) => Promise | void; } export interface ColumnConfig { @@ -52,6 +53,7 @@ export interface ColumnConfig { name?: string; showHeader?: boolean; table?: ColumnConfig[]; + editInlineFormConfig?: FormConfig; formatter?: 'datetime' | ((item: any, row: T, data: { index: number }) => any); popover?: { placement?: