pl-units-input元件¶
填写允许输入数字和随附单位的空白字段。
样品元素¶
question.html
<pl-units-input answers-name="c_1" correct-answer="1m" atol="1cm"></pl-units-input>
定制¶
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
allow-blank |
布尔 | 假 | 是否允许输入框为空。默认情况下,空输入框不会被评分(格式无效)。 |
allow-feedback |
布尔 | 真实 | 是否显示自动评分器对错误答案的详细反馈(例如,说明单位或量级是否具体错误)。反馈因 grading-mode 的不同而异。 |
answers-name |
字符串 | — | 用于存储数据的变量名称。请注意,该属性在问题中必须是唯一的,即该属性的值不应在问题中重复。 |
aria-label |
字符串 | — | 输入的可访问标签。 |
atol |
字符串 | 1e-8 | comparison="relabs" 和 grading-mode="with-units" 的绝对公差。在 grading-mode="with-units" 中,默认值复制正确答案中使用的单位,自定义值必须包含单位。 |
blank-value |
字符串 | “” | 如果元素留空,则用作答案的值。仅当 allow-blank 为 true 时适用。必须是 ""(空字符串)或遵循与预期用户输入相同的格式。 |
comparison |
"exact"、"sigfig"、"decdig" 或 "relabs" |
"relabs" |
如何评分。 "relabs" 使用相对 (rtol) 和绝对 (atol) 公差。 "sigfig" 使用 digits 有效数字。 "decdig" 在小数位后使用 digits,"exact" 使用 == 并且只能用于整数。仅当 grading-mode="exact-units" |
correct-answer |
字符串 | 查看描述 | 正确答案可用于评分。默认为 data["correct_answers"][answers-name]。空白正确答案(correct-answer="")仅在allow-blank="true"和blank-value=""时有效。 |
custom-format |
字符串 | — | 处理后格式化提交的正确答案时使用的自定义格式说明符。默认情况下,使用标准字符串转换。该格式的完整描述可以在 Pint 文档页面 中找到。 |
digits |
整数 | 2 | comparison="sigfig" 或 comparison="decdig" 必须正确的位数。 |
display |
"block" 或 "inline" |
"inline" |
如何显示输入字段。 |
grading-mode |
"with-units"、"exact-units" 或 "only-units" |
"with-units" |
如何对学生提交的内容进行评分。 "only-units" 仅检查学生输入的单位。 "exact-units" 要求指定单位的数量。 “with-units”与“exact-units”类似,但如果可能的话,会自动转换给定答案使用的单位。 |
initial-value |
字符串 | — | 第一次渲染时预填充输入框的初始值。 |
label |
字符串 | — | 显示在输入框之前的前缀(例如,label="$F =$")。 |
magnitude-partial-credit |
浮动 | — | 当 grading-mode="exact-units" 时,给予正确幅度和不正确单位答案的部分学分分数。当单位正确但幅度不正确时,给出剩余的学分分数。必须介于 0.0 和 1.0 之间。如果未设置,部分积分将被禁用。 |
placeholder |
字符串 | — | 用于覆盖默认占位符文本的字符串。默认占位符提供有关所使用的比较类型的信息。 |
rtol |
数量 | 1e-2 | comparison="relabs" 和 grading-mode="with-units" 的相对公差。 |
show-help-text |
布尔 | 真实 | 在显示所需输入参数的输入末尾显示问号。 |
show-score |
布尔 | 真实 | 是否在此元素旁边显示分数徽章。 |
size |
整数 | 35 | 35输入框的大小。 |
suffix |
字符串 | — | 显示在输入框之后的后缀(例如,suffix="$\rm m/s^2$")。 |
weight |
整数 | 1 | 计算元素的加权平均分数时使用的权重。 |
细节¶
该元素使用 Pint 来解析和表示单位。此元素支持 Pint 允许的任何单位。要获取Pint单位注册表,问题代码可以使用pl.get_unit_registry()构建默认单位注册表。建议使用 Pint 提供的构造函数构建注册表(因为这不使用缓存并且速度较慢)。
示例实现¶
- [元素/单位输入]