Appearance
QxsTextFill
qxs-text-fill 负责问答题本体,支持关键词、关键词命中设置,以及参考答案正文。
问答题预览输出
问答题的预览态会同时展示关键词和参考答案正文;编辑态则拆成答题设置、关键词维护和参考答案输入三部分。
loading
关键词与答案编辑
编辑态会把问答题拆成三块:答题设置、关键词维护和参考答案正文。
这里的 keywordCount 决定最终校验时至少需要命中几个关键词。
loading
使用说明
keywordCount
问答题的“至少命中几个关键词”来自 exam-answer-setting.keywordCount / examAnswerSettingBO.keywordCount,不是 leastAnswerCount。
关键词写法
同一组关键词如果要兼容多个同义词,使用英文逗号分隔,例如 饮食管理,饮食控制。
QxsTextFill API
属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
title | 题干内容 | string | '' |
answer-list | 关键词数组 | any[] | [] |
exam-answer-setting | 问答题答题设置,包含 keywordCount | { isInOrder?: boolean; isIgnoreCase?: boolean; keywordCount?: number } | {} |
exam-expand | 参考答案正文 | string | '' |
analysis | 解析内容 | string | '' |
search-handler | 宿主自定义搜索处理器 | (query: string, answerType: number) => Promise<any[]> | - |
show-analysis | 是否显示解析编辑区 | boolean | false |
show-rich-text | 是否整体启用副文本能力 | boolean | false |
hide-add-rich-text | 是否隐藏“添加题目描述(图文)”入口 | boolean | false |
show-delete-action | 是否显示内置删除按钮 | boolean | true |
show-save-action | 是否显示内置完成编辑按钮 | boolean | true |
use-model | 是否启用 update:modelValue | boolean | false |
事件
| 名称 | 说明 | Detail |
|---|---|---|
save | 点击内置“完成编辑”后触发 | toJSON() 导出的题目数据 |
delete | 点击内置“删除”后触发 | null |
update:modelValue | 仅在开启 use-model 时触发 | 当前题干内容 |
插槽
| 名称 | 说明 |
|---|---|
action | 自定义底部操作区 |
business-tag | 题目标题旁的宿主业务标签 |
sub-text | 接管题目副文本编辑区 |
方法
| 名称 | 说明 | 类型 |
|---|---|---|
validate() | 返回当前题目校验错误列表 | () => SubjectError[] |
toJSON() | 导出当前题目数据 | () => Promise<any> |
数据结构
ts
{
customId: crypto.randomUUID(),
answerType: 'text_fill',
title: '',
analysis: '',
isEdit: true,
examRichTextContent: '',
answers: [{ title: '', tag: '', showInput: false }],
examAnswerSettingBO: {
isInOrder: false,
isIgnoreCase: true,
keywordCount: 1,
},
examExpand: '',
}