diff --git a/web/src/components/AnswerResult.tsx b/web/src/components/AnswerResult.tsx index a249f41..34582d8 100644 --- a/web/src/components/AnswerResult.tsx +++ b/web/src/components/AnswerResult.tsx @@ -119,8 +119,13 @@ const AnswerResult: React.FC = ({ } } - // 处理数组答案(多选题),按照ABCD顺序排序 + // 处理数组答案 if (Array.isArray(answer)) { + // 填空题:保持原顺序,不排序(因为每个空格的位置是固定的) + if (questionType === 'fill-in-blank') { + return answer.join(', ') + } + // 多选题:按照ABCD顺序排序 return [...answer].sort((a, b) => a.localeCompare(b)).join(', ') } diff --git a/web/src/components/QuestionCard.tsx b/web/src/components/QuestionCard.tsx index 0d61fb8..75b4adb 100644 --- a/web/src/components/QuestionCard.tsx +++ b/web/src/components/QuestionCard.tsx @@ -66,7 +66,9 @@ const QuestionCard: React.FC = ({ const newAnswers = [...fillAnswers] newAnswers[index] = e.target.value setFillAnswers(newAnswers) - onAnswerChange(newAnswers) + // 提交时去掉每个答案的前后空白字符 + const trimmedAnswers = newAnswers.map(ans => ans.trim()) + onAnswerChange(trimmedAnswers) }} disabled={showResult} style={{