From 8d55d0cd8d1059dcbca86fc5b72ec82f22c35d9c Mon Sep 17 00:00:00 2001 From: roymondchen Date: Wed, 3 Dec 2025 17:50:48 +0800 Subject: [PATCH] =?UTF-8?q?feat(editor):=20=E4=BB=A3=E7=A0=81=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=99=A8=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../editor/src/components/CodeBlockEditor.vue | 2 +- packages/editor/src/fields/Code.vue | 1 + .../editor/src/fields/DataSourceFields.vue | 4 +- .../editor/src/fields/DataSourceMocks.vue | 2 +- packages/editor/src/fields/KeyValue.vue | 5 +- packages/editor/src/layouts/CodeEditor.vue | 82 +++++++++++++++++-- .../editor/src/utils/data-source/index.ts | 4 +- packages/form-schema/src/editor.ts | 4 + 8 files changed, 92 insertions(+), 12 deletions(-) diff --git a/packages/editor/src/components/CodeBlockEditor.vue b/packages/editor/src/components/CodeBlockEditor.vue index 63eca517..884d1523 100644 --- a/packages/editor/src/components/CodeBlockEditor.vue +++ b/packages/editor/src/components/CodeBlockEditor.vue @@ -201,7 +201,7 @@ const functionConfig = computed(() => [ name: 'content', type: 'vs-code', options: inject('codeOptions', {}), - height: '500px', + autosize: { minRows: 10, maxRows: 30 }, onChange: (formState: FormState | undefined, code: string) => { try { // 检测js代码是否存在语法错误 diff --git a/packages/editor/src/fields/Code.vue b/packages/editor/src/fields/Code.vue index a1287b1f..071efc39 100644 --- a/packages/editor/src/fields/Code.vue +++ b/packages/editor/src/fields/Code.vue @@ -7,6 +7,7 @@ ...config.options, readOnly: disabled, }" + :autosize="config.autosize" :parse="config.parse" @save="save" > diff --git a/packages/editor/src/fields/DataSourceFields.vue b/packages/editor/src/fields/DataSourceFields.vue index bd32f69c..42541589 100644 --- a/packages/editor/src/fields/DataSourceFields.vue +++ b/packages/editor/src/fields/DataSourceFields.vue @@ -233,7 +233,6 @@ const dataSourceFieldsConfig: FormConfig = [ { name: 'defaultValue', text: '默认值', - height: '200px', parse: true, type: (mForm: FormState | undefined, { model }: any) => { if (model.type === 'number') return 'number'; @@ -242,6 +241,7 @@ const dataSourceFieldsConfig: FormConfig = [ return 'vs-code'; }, + autosize: { minRows: 1, maxRows: 30 }, options: [ { text: 'true', value: true }, { text: 'false', value: false }, @@ -267,7 +267,7 @@ const jsonFromConfig: FormConfig = [ type: 'vs-code', labelWidth: '0', language: 'json', - height: '600px', + autosize: { minRows: 30, maxRows: 50 }, options: inject('codeOptions', {}), }, ]; diff --git a/packages/editor/src/fields/DataSourceMocks.vue b/packages/editor/src/fields/DataSourceMocks.vue index f949b98d..0bc7f237 100644 --- a/packages/editor/src/fields/DataSourceMocks.vue +++ b/packages/editor/src/fields/DataSourceMocks.vue @@ -96,7 +96,7 @@ const formConfig: FormConfig = [ language: 'json', options: inject('codeOptions', {}), defaultValue: '{}', - height: '400px', + autosize: { minRows: 30, maxRows: 50 }, onChange: (formState: FormState | undefined, v: string | any) => { if (typeof v !== 'string') return v; return JSON.parse(v); diff --git a/packages/editor/src/fields/KeyValue.vue b/packages/editor/src/fields/KeyValue.vue index 31f30276..8ef23cba 100644 --- a/packages/editor/src/fields/KeyValue.vue +++ b/packages/editor/src/fields/KeyValue.vue @@ -37,12 +37,15 @@ diff --git a/packages/editor/src/layouts/CodeEditor.vue b/packages/editor/src/layouts/CodeEditor.vue index f19b1ae3..1939304b 100644 --- a/packages/editor/src/layouts/CodeEditor.vue +++ b/packages/editor/src/layouts/CodeEditor.vue @@ -1,10 +1,7 @@