From de5f511d6add02b25fbfaf95356c84d0bf1a51b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E4=BA=9A=E6=98=95?= <1549469775@qq.com> Date: Thu, 3 Apr 2025 17:01:15 +0800 Subject: [PATCH] fix bug --- src/renderer/src/components/CodeEditor/a.d.ts | 1 - src/renderer/src/components/CodeEditor/code-editor.vue | 15 +++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 src/renderer/src/components/CodeEditor/a.d.ts diff --git a/src/renderer/src/components/CodeEditor/a.d.ts b/src/renderer/src/components/CodeEditor/a.d.ts deleted file mode 100644 index 5fa7024..0000000 --- a/src/renderer/src/components/CodeEditor/a.d.ts +++ /dev/null @@ -1 +0,0 @@ -type A = string diff --git a/src/renderer/src/components/CodeEditor/code-editor.vue b/src/renderer/src/components/CodeEditor/code-editor.vue index 69abc8a..6bee090 100644 --- a/src/renderer/src/components/CodeEditor/code-editor.vue +++ b/src/renderer/src/components/CodeEditor/code-editor.vue @@ -84,7 +84,7 @@ }, }) - let isInnerChange = false + let isInnerChange = "first" // waitting, out, in function updateModel(name: string, content: string) { if (editor) { const oldModel = editor.getModel() //获取旧模型 @@ -94,7 +94,11 @@ const model: monaco.editor.ITextModel = monaco.editor.createModel(content ?? "", file?.language ?? "txt") model.onDidChangeContent(() => { if (model) { - isInnerChange = true + if(isInnerChange === "out") { + isInnerChange = "waitting" + return + } + isInnerChange = "in" const code = model.getValue() emit("update:modelValue", code) emit("change", code) @@ -148,10 +152,13 @@ watch( () => props.modelValue, async str => { - if (editor && !isInnerChange) { + if(isInnerChange === "waitting") { + isInnerChange = "out" + } + if (editor && isInnerChange === "out") { editor.setValue(str) } else { - isInnerChange = false + isInnerChange = "waitting" } }, { immediate: true },