From 0e1986c81998e50461c294c1a27a8139e8ae9a13 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Thu, 23 Jul 2026 22:07:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=82=E8=80=83=E5=BB=BA=E8=AE=AE?= =?UTF-8?q?=E5=8F=AF=E9=80=89=E5=80=BC=E6=9C=80=E5=A4=9A=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E4=B8=AA=E6=95=B0=E7=94=B1=205=20=E8=B0=83=E6=95=B4=E4=B8=BA?= =?UTF-8?q?=2020?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor/src/utils/type-match-rules.ts | 2 +- packages/form/src/utils/typeMatch.ts | 2 +- packages/form/tests/unit/utils/typeMatch.spec.ts | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/editor/src/utils/type-match-rules.ts b/packages/editor/src/utils/type-match-rules.ts index 112bede8..8bda9e3c 100644 --- a/packages/editor/src/utils/type-match-rules.ts +++ b/packages/editor/src/utils/type-match-rules.ts @@ -58,7 +58,7 @@ const stringifyExampleValue = (value: any): string => { }; // 参考建议中最多展示的可选值个数,超出以「等」省略。 -const MAX_SUGGESTION_OPTIONS = 5; +const MAX_SUGGESTION_OPTIONS = 20; /** * 生成「请使用以下某一个值:xxx;xxx」形式的参考建议;无可选值时返回空字符串(不追加建议)。 diff --git a/packages/form/src/utils/typeMatch.ts b/packages/form/src/utils/typeMatch.ts index a8959023..c21fc285 100644 --- a/packages/form/src/utils/typeMatch.ts +++ b/packages/form/src/utils/typeMatch.ts @@ -142,7 +142,7 @@ const stringifyExampleValue = (value: any): string => { }; // 参考建议中最多展示的可选值个数,超出以「等」省略。 -const MAX_SUGGESTION_OPTIONS = 5; +const MAX_SUGGESTION_OPTIONS = 20; /** * 生成「请使用以下某一个值:xxx;xxx」形式的参考建议;无可选值时返回空字符串(不追加建议)。 diff --git a/packages/form/tests/unit/utils/typeMatch.spec.ts b/packages/form/tests/unit/utils/typeMatch.spec.ts index 3a78a06d..f9adc93a 100644 --- a/packages/form/tests/unit/utils/typeMatch.spec.ts +++ b/packages/form/tests/unit/utils/typeMatch.spec.ts @@ -196,13 +196,14 @@ describe('validateTypeMatch', () => { expect(validateTypeMatch(3, mForm, propsOf(config))).toBe('3 不在可选项中\n\n请使用以下某一个值:1;2'); }); - test('可选项超过 5 个时建议仅展示前 5 个并以「等」省略', () => { + test('可选项超过 20 个时建议仅展示前 20 个并以「等」省略', () => { + const values = Array.from({ length: 21 }, (_, i) => i + 1); const config = { type: 'select', - options: [1, 2, 3, 4, 5, 6, 7].map((v) => ({ text: `${v}`, value: v })), + options: values.map((v) => ({ text: `${v}`, value: v })), }; expect(validateTypeMatch(99, mForm, propsOf(config))).toBe( - '99 不在可选项中\n\n请使用以下某一个值:1;2;3;4;5 等', + `99 不在可选项中\n\n请使用以下某一个值:${values.slice(0, 20).join(';')} 等`, ); });