From 8895ddf9a44534006e5a3813a6c84faba767a287 Mon Sep 17 00:00:00 2001 From: Frankie Huang Date: Tue, 29 Apr 2025 23:29:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E4=BF=9D=E5=AD=98,?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=9A=90=E8=97=8F=E7=9B=AE=E5=BD=95=E7=AD=89?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + src/App.vue | 25 ++++++++---- src/components/MainEditor.vue | 72 +++++++++++++++++++++++++++++++++-- 3 files changed, 88 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f87e289..1ca6f2a 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ 1. `npm install md-editor-v3 --save` 2. 在 src/components/MainEditor.vue 组件里使用 md-editor-v3 组件 +3. 实现保存功能;自定义工具栏实现显示/隐藏目录以及发布等功能 ### 调试应用 diff --git a/src/App.vue b/src/App.vue index 08dc946..182c63a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,7 +12,7 @@ @@ -36,24 +36,35 @@ async function greet() { } // 使用 Split 组件动态控制页面左右布局 -const split = ref(0.2); +const defaultSplit = 0.15; // 默认左侧边栏和右侧区域的比例为 1.5:8.5 +const split = ref(defaultSplit); const splitTrigger = useTemplateRef('splitTrigger'); const splitRight = useTemplateRef('splitRight'); const splitRightWidth = ref(0); -const hiddenSplitLeft = ref(""); +const hiddenSplitLeft = ref(''); +const leftSidebarState = ref('open'); watch(split, (newSplit) => { splitRightWidth.value = splitRight.value.offsetWidth; // 当 split 小于某个值时,隐藏左边布局 if (newSplit < 0.05) { - if (hiddenSplitLeft.value == "") { - hiddenSplitLeft.value = "hidden" + leftSidebarState.value = 'close'; + if (hiddenSplitLeft.value == '') { + hiddenSplitLeft.value = 'hidden'; } } else { - if (hiddenSplitLeft.value == "hidden") { - hiddenSplitLeft.value = "" + leftSidebarState.value = 'open'; + if (hiddenSplitLeft.value == 'hidden') { + hiddenSplitLeft.value = ''; } } }) +watch(leftSidebarState, (state) => { + if (state == 'open') { + split.value = defaultSplit; + } else { + split.value = 0; + } +}) // 监听根目录路径。如果之前已经选过目录,初始界面直接加载该目录 const rootFolderPath = ref(localStorage.getItem('rootPathOfFolderTree') || ""); diff --git a/src/components/MainEditor.vue b/src/components/MainEditor.vue index f58c069..c5e7715 100644 --- a/src/components/MainEditor.vue +++ b/src/components/MainEditor.vue @@ -2,7 +2,27 @@