diff --git a/web/src/pages/QuestionManagement.tsx b/web/src/pages/QuestionManagement.tsx index 8c20156..81c2439 100644 --- a/web/src/pages/QuestionManagement.tsx +++ b/web/src/pages/QuestionManagement.tsx @@ -106,10 +106,24 @@ const QuestionManagement: React.FC = () => { } else { setEditingQuestion(null) form.resetFields() - // 新建时设置默认值 + + // 新建时设置默认值 - 参照编辑逻辑 + const defaultType = 'multiple-choice' + + // 设置默认答案值 + let defaultAnswer: any = '' + let defaultOptions: Array<{ key: string; value: string }> = [] + + // 为单选和多选题设置默认选项 + if (defaultType === 'multiple-choice' || defaultType === 'multiple-selection') { + defaultOptions = [{ key: 'A', value: '' }, { key: 'B', value: '' }] + } + form.setFieldsValue({ - type: 'multiple-choice', - options: [{ key: 'A', value: '' }, { key: 'B', value: '' }], + type: defaultType, + content: '', + answer: defaultAnswer, + options: defaultOptions, }) } setModalVisible(true) @@ -548,7 +562,8 @@ const QuestionManagement: React.FC = () => { layout="vertical" initialValues={{ type: 'multiple-choice', - options: [{ key: 'A', value: '' }, { key: 'B', value: '' }] + options: [{ key: 'A', value: '' }, { key: 'B', value: '' }], + answer: '', // 添加默认answer字段 }} > { // 为单选和多选题设置默认选项 if (value === 'multiple-choice' || value === 'multiple-selection') { form.setFieldsValue({ - options: [{ key: 'A', value: '' }, { key: 'B', value: '' }] + options: [{ key: 'A', value: '' }, { key: 'B', value: '' }], + answer: value === 'multiple-choice' ? '' : [], // 单选空字符串,多选空数组 }) } + // 为判断题设置默认答案 + else if (value === 'true-false') { + form.setFieldsValue({ answer: true }) + } // 为填空题设置默认答案数组 - if (value === 'fill-in-blank') { + else if (value === 'fill-in-blank') { form.setFieldsValue({ answer: [''] }) } + // 为简答题和论述题设置默认空字符串 + else if (value === 'short-answer' || value === 'ordinary-essay' || value === 'management-essay') { + form.setFieldsValue({ answer: '' }) + } }} > {questionTypes.map(type => (