diff --git a/web/src/components/common/DraggableWindow.vue b/web/src/components/common/DraggableWindow.vue index c5ec605f..76f8595a 100644 --- a/web/src/components/common/DraggableWindow.vue +++ b/web/src/components/common/DraggableWindow.vue @@ -222,12 +222,18 @@ watch(show, (newShow) => { }) // 监听窗口大小变化 +function handleWindowResize() { + if (isMaximized.value) { + size.value = { width: window.innerWidth, height: window.innerHeight } + } +} + onMounted(() => { - window.addEventListener('resize', () => { - if (isMaximized.value) { - size.value = { width: window.innerWidth, height: window.innerHeight } - } - }) + window.addEventListener('resize', handleWindowResize) +}) + +onBeforeUnmount(() => { + window.removeEventListener('resize', handleWindowResize) }) @@ -363,7 +369,7 @@ onMounted(() => { gap: 4px; } -.draggable-window .control-btn { +.control-btn { display: flex; align-items: center; justify-content: center; @@ -394,7 +400,7 @@ onMounted(() => { } // 调整大小的手柄 -.draggable-window .resize-handle { +.resize-handle { position: absolute; &.n, diff --git a/web/src/components/file-editor/FileEditorView.vue b/web/src/components/file-editor/FileEditorView.vue index 9cede6f0..e1fbb8fc 100644 --- a/web/src/components/file-editor/FileEditorView.vue +++ b/web/src/components/file-editor/FileEditorView.vue @@ -111,8 +111,8 @@ defineExpose({ /> -
- +
+ - -
+ +
@@ -305,15 +305,6 @@ defineExpose({ background: var(--n-card-color); } -.editor-main { - flex: 1; - overflow: hidden; -} - -.editor-layout { - height: 100%; -} - .file-tree-sider { height: 100%; @@ -322,19 +313,6 @@ defineExpose({ } } -.editor-content { - height: 100%; - overflow: hidden; -} - -.editor-wrapper { - display: flex; - flex-direction: column; - height: 100%; - overflow: hidden; - min-width: 0; /* 允许在 flex 布局中收缩 */ -} - .settings-form { :deep(.n-input-number) { width: 180px; diff --git a/web/src/components/file-editor/FileTree.vue b/web/src/components/file-editor/FileTree.vue index 8383f4ad..e9f5cfa4 100644 --- a/web/src/components/file-editor/FileTree.vue +++ b/web/src/components/file-editor/FileTree.vue @@ -105,8 +105,7 @@ async function initTree() { async function handleLoad(node: TreeOption): Promise { if (node.isLeaf) return try { - const children = await loadDirectory(node.key as string) - node.children = children + node.children = await loadDirectory(node.key as string) } catch { node.children = [] } @@ -715,7 +714,7 @@ defineExpose({ size="small" :placeholder="$gettext('Search')" clearable - class="search-input" + class="flex-1 min-w-0" > - -