diff --git a/src/oj/problem/components/editor.vue b/src/oj/problem/components/editor.vue index 723c729..b14100c 100644 --- a/src/oj/problem/components/editor.vue +++ b/src/oj/problem/components/editor.vue @@ -32,15 +32,18 @@ onBeforeUnmount(() => { monaco.editor.getModels().forEach((model) => model.dispose()) }) -watchEffect(() => { - if (monaco && monaco.editor) { - monaco.editor.setModelLanguage( - monaco.editor.getModels()[0], - LANGUAGE_VALUE[code.language] - ) - reset() +watch( + () => code.language, + () => { + if (monaco && monaco.editor) { + monaco.editor.setModelLanguage( + monaco.editor.getModels()[0], + LANGUAGE_VALUE[code.language] + ) + reset() + } } -}) +) function reset() { code.value = props.problem.template[code.language] || SOURCES[code.language] diff --git a/src/oj/problem/components/testcase-panel.vue b/src/oj/problem/components/testcase-panel.vue index f195b10..7fc29bd 100644 --- a/src/oj/problem/components/testcase-panel.vue +++ b/src/oj/problem/components/testcase-panel.vue @@ -9,7 +9,7 @@ const code = inject("code")