From f57c2c413790b3c9fa0425f8e73ca811ac70b93f Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Tue, 19 May 2026 04:16:17 -0600 Subject: [PATCH] fix: show all languages in selector regardless of answer code --- .../problem/components/TestcaseGenerator.vue | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/admin/problem/components/TestcaseGenerator.vue b/src/admin/problem/components/TestcaseGenerator.vue index d3a33f5..2d556cd 100644 --- a/src/admin/problem/components/TestcaseGenerator.vue +++ b/src/admin/problem/components/TestcaseGenerator.vue @@ -29,15 +29,18 @@ const files = ref( const selectedLanguage = ref("Python3") +// 始终显示所有语言,不管有没有答案代码 const availableLanguages = computed(() => - props.answers - .filter((a) => a.code.trim()) - .map((a) => ({ label: a.language, value: a.language })), + props.answers.map((a) => ({ label: a.language, value: a.language })), ) -const hasAnswerCode = computed(() => availableLanguages.value.length > 0) +// 当前选中语言是否有答案代码(用于控制"先运行"按钮) +const hasAnswerCode = computed(() => { + const answer = props.answers.find((a) => a.language === selectedLanguage.value) + return !!answer?.code.trim() +}) -// 当可用语言列表变化时,确保 selectedLanguage 始终指向一个有效值 +// 当语言列表变化时,确保 selectedLanguage 始终指向一个有效值 watch( availableLanguages, (langs) => { @@ -144,17 +147,14 @@ async function upload() { style="width: 120px" :options="availableLanguages" v-model:value="selectedLanguage" - :disabled="!hasAnswerCode" - placeholder="无答案" /> - 清空 - +1 - +5 + 清空 + +1 + +5