From d7ad63d3a2b843711e0a52dc4cb7ff7ce7a6ed44 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Thu, 23 Apr 2026 20:38:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(form):=20=E8=B0=83=E6=95=B4=20table-gr?= =?UTF-8?q?oup-list=20=E5=B1=9E=E6=80=A7=E9=80=8F=E4=BC=A0=E4=B8=8E?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=8C=89=E9=92=AE=E6=8E=A7=E5=88=B6=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TableGroupList 新增 showIndex、sortKey、sort 属性透传至 Table - 切换按钮显示改由 config.enableToggleMode 或组件 prop 控制,Table 不再内置 enableToggleMode - GroupList 新增 showIndex 属性 - DisplayConds 关闭切换模式 - GroupListConfig.beforeAddRow 返回值去掉 Promise 支持 Made-with: Cursor --- packages/editor/src/fields/DisplayConds.vue | 1 + packages/form-schema/src/base.ts | 2 +- packages/form/src/containers/GroupList.vue | 1 + packages/form/src/containers/TableGroupList.vue | 14 +++++++++++++- packages/form/src/table/Table.vue | 3 +-- packages/form/src/table/type.ts | 1 - 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/editor/src/fields/DisplayConds.vue b/packages/editor/src/fields/DisplayConds.vue index 865a8701..d8b6e30b 100644 --- a/packages/editor/src/fields/DisplayConds.vue +++ b/packages/editor/src/fields/DisplayConds.vue @@ -67,6 +67,7 @@ const config = computed(() => ({ name: props.name, titlePrefix: props.config.titlePrefix, expandAll: true, + enableToggleMode: false, items: [ { type: 'table', diff --git a/packages/form-schema/src/base.ts b/packages/form-schema/src/base.ts index f10e2307..28427e4a 100644 --- a/packages/form-schema/src/base.ts +++ b/packages/form-schema/src/base.ts @@ -806,7 +806,7 @@ export interface GroupListConfig extends FormItem { }; /** 最大行数 */ max?: number; - beforeAddRow?: (mForm: FormState | undefined, data: any) => boolean | Promise; + beforeAddRow?: (mForm: FormState | undefined, data: any) => boolean; } interface StepItemConfig extends FormItem, ContainerCommonConfig { diff --git a/packages/form/src/containers/GroupList.vue b/packages/form/src/containers/GroupList.vue index 57cf04c8..5fbd5461 100644 --- a/packages/form/src/containers/GroupList.vue +++ b/packages/form/src/containers/GroupList.vue @@ -60,6 +60,7 @@ const props = defineProps<{ prop?: string; size?: string; disabled?: boolean; + showIndex?: boolean; }>(); const emit = defineEmits<{ diff --git a/packages/form/src/containers/TableGroupList.vue b/packages/form/src/containers/TableGroupList.vue index 336570b0..2c406c95 100644 --- a/packages/form/src/containers/TableGroupList.vue +++ b/packages/form/src/containers/TableGroupList.vue @@ -11,12 +11,20 @@ :last-values="lastValues" :prop="prop" :label-width="labelWidth" + :show-index="showIndex" + :sort-key="sortKey" + :sort="sort" @change="onChange" @select="onSelect" @addDiffCount="onAddDiffCount" > @@ -65,6 +73,10 @@ const props = defineProps<{ labelWidth?: string; disabled?: boolean; size?: string; + enableToggleMode?: true; + showIndex?: boolean; + sortKey?: string; + sort?: boolean; }>(); const emit = defineEmits(['change', 'select', 'addDiffCount']); diff --git a/packages/form/src/table/Table.vue b/packages/form/src/table/Table.vue index 016c9efe..ffcf8e03 100644 --- a/packages/form/src/table/Table.vue +++ b/packages/form/src/table/Table.vue @@ -34,7 +34,7 @@
- + (), { prop: '', sortKey: '', - enableToggleMode: true, showIndex: true, lastValues: () => ({}), isCompare: false, diff --git a/packages/form/src/table/type.ts b/packages/form/src/table/type.ts index a870dc69..63b075ad 100644 --- a/packages/form/src/table/type.ts +++ b/packages/form/src/table/type.ts @@ -13,6 +13,5 @@ export interface TableProps { sortKey?: string; text?: string; size?: string; - enableToggleMode?: boolean; showIndex?: boolean; }