diff --git a/packages/editor/src/components/CodeBlockEditor.vue b/packages/editor/src/components/CodeBlockEditor.vue index 25a4a1df..d61c6b3d 100644 --- a/packages/editor/src/components/CodeBlockEditor.vue +++ b/packages/editor/src/components/CodeBlockEditor.vue @@ -9,6 +9,7 @@ :disabled="disabled" @submit="submitForm" @error="errorHandler" + @open="openHandler" > @@ -37,7 +38,10 @@ const emit = defineEmits<{ const services = inject('services'); -const size = computed(() => globalThis.document.body.clientWidth - (services?.uiService.get('columnWidth').left || 0)); +const columnWidth = computed(() => services?.uiService.get('columnWidth')); +const size = computed(() => (columnWidth.value ? columnWidth.value.center + columnWidth.value.right : 600)); + +const codeEditorHeight = ref('600px'); const defaultParamColConfig: ColumnConfig = { type: 'row', @@ -104,6 +108,7 @@ const functionConfig = computed(() => [ name: 'content', type: 'vs-code', options: inject('codeOptions', {}), + height: codeEditorHeight.value, onChange: (formState: FormState | undefined, code: string) => { try { // 检测js代码是否存在语法错误 @@ -129,6 +134,15 @@ const errorHandler = (error: any) => { const fomDrawer = ref>(); +const openHandler = () => { + setTimeout(() => { + if (fomDrawer.value) { + const height = fomDrawer.value?.bodyHeight - 468; + codeEditorHeight.value = `${height > 100 ? height : 600}px`; + } + }); +}; + defineExpose({ show() { fomDrawer.value?.show(); diff --git a/packages/editor/src/fields/Code.vue b/packages/editor/src/fields/Code.vue index aa5369fb..2760c1f7 100644 --- a/packages/editor/src/fields/Code.vue +++ b/packages/editor/src/fields/Code.vue @@ -1,8 +1,8 @@