陈述
仅显示文本而不需要受访者回答的展示类问题。适用于说明、章节过渡或信息内容。

类型标识符:statement
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
buttonText | string | 继续按钮上显示的文本。 | "Continue" |
行为
- 陈述不显示问题编号。
- 不显示输入字段。
- 受访者点击按钮前进到下一个问题。
- 陈述永远不是"必填"的,因为它们没有需要验证的答案。
逻辑跳转运算符
equals、not_equals、is_answered、is_not_answered
陈述非常适合将长表单分割成多个部分。用它们在一系列相关问题之前提供背景或说明。
答案格式
陈述不产生答案。值实际上为 undefined。
欢迎页面
在任何问题之前显示的介绍页面。
类型标识符:welcome_screen
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
buttonText | string | 开始表单的按钮文本。 | "Start" |
行为
- 欢迎页面显示在问题 1 之前。
- 标题和描述支持富文本和
{variable}替换。 - 点击按钮开始表单。
作为问题列表中的问题添加的欢迎页面与表单级别的欢迎页面设置功能类似。表单级别的欢迎页面先显示;如果您还添加了 welcome_screen 问题,它将在问题顺序中的对应位置出现。
答案格式
欢迎页面不产生答案。
结束页面
表单提交后显示的结束页面。在测验模式中,可以添加多个结束页面,根据受访者的分数条件性显示。
类型标识符:end_screen
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
buttonText | string | 可选的按钮文本(例如"再做一次测验")。 | 无 |
scoreRange | object | 用于测验模式:触发此结束页面的分数范围。 | 无 |
scoreRange.min | number | 显示此结束页面的最低分数(包含)。 | 无 |
scoreRange.max | number | 显示此结束页面的最高分数(包含)。 | 无 |
标准模式行为
在标准模式中,单个结束页面替代默认的感谢页面。提交后显示其标题和描述。
测验模式行为
在测验模式中,可以定义多个结束页面:
- 知识测验 / 潜客评估:显示
scoreRange与受访者总分匹配的结束页面。 - 匹配测验:显示从受访者选项结果中累积最多计数的结束页面。
结束页面问题出现在问题列表中,但在表单填写过程中不显示。它们仅在提交后根据评分逻辑渲染。
答案格式
结束页面不产生答案。
摘要
在最终提交前显示受访者所有答案的回顾页面。受访者可以查看答案并可选择返回编辑任何问题。
类型标识符:summary
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
summaryLabel | string | 摘要部分的自定义标题。 | "Review your answers" |
summaryYesText | string | 确认/提交按钮的标签。 | "Looks good, submit!" |
summaryNoText | string | 返回编辑按钮的标签。 | "I want to change something" |
行为
- 摘要显示所有已回答的问题及其回复。
- 摘要中的每个问题都可点击,允许受访者跳回该问题并编辑答案。
- 问题编号前缀被隐藏。
- 显示两个按钮:确认(提交)和编辑(返回)。
依赖
摘要问题需要访问所有问题和所有答案。表单渲染器将 allQuestions、allAnswers、onGoToQuestion 和 onRestart 属性传递给此字段。
答案格式
摘要问题不产生自己的答案。它是一个纯展示组件。
将摘要问题放在表单的最后一个问题位置(在任何结束页面之前),给受访者在提交前回顾的机会。这对长表单或包含必填字段的表单特别有价值。
保存答案
为受访者提供将当前答案保存到浏览器本地存储的选项。当他们访问另一个 NueForm 表单时,之前保存的答案可以被预填充。
类型标识符:save_questions
属性
保存答案问题类型除通用问题属性外没有额外属性。
行为
- 显示受访者的当前答案。
- 提供将答案保存到本地存储的按钮。
- 保存的答案按问题标题为键,因此如果未来的表单有相同标题的问题,答案会被预填充。
- 问题编号前缀被隐藏。
用例
这对多表单工作流程很有用,受访者需要填写多个相关表单。常见信息(姓名、电子邮件、公司等)可以保存一次,然后在后续表单中自动填充。
答案格式
保存答案问题不产生自己的答案。保存的数据存储在浏览器的本地存储中。
问题分组
将多个子问题分组为单个表单步骤。子问题在分组内逐一呈现,带有内部导航。这允许您创建相关问题的章节,在整体表单流程中作为单个单元运作。
类型标识符:question_group
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
fields | FormQuestion[] | 分组中的子问题数组。每个子问题是一个完整的问题对象,有自己的类型、标题、属性和逻辑跳转。 | [] |
行为
- 分组在整体表单中显示为单个步骤。
- 子问题逐一呈现,在分组内有前进/后退导航。
- 每个子问题可以有自己的逻辑跳转。如果逻辑跳转的目标是:
- 同一分组内的另一个子问题:导航在内部进行。
- 分组外的问题:分组退出,导航在顶层继续。
end:表单跳到提交。
- "返回"按钮优先在分组内导航。如果受访者在第一个子问题上,按"返回"会退出分组并转到上一个顶层问题。
- 分组容器的问题编号前缀被隐藏。
子问题逻辑
子问题上的逻辑跳转可以引用同一分组内其他子问题的答案,或引用分组外顶层问题的答案(通过 flatAnswers 映射)。
子问题逻辑跳转上的变量操作针对与父表单相同的变量状态执行。
验证
分组中的每个子问题单独验证。受访者在分组内导航时必须满足每个必填子问题的要求。
被内部逻辑跳转跳过的子问题不进行验证(其必填约束被免除)。
答案格式
答案存储为对象(Record<string, unknown>),将每个子问题 ID 映射到其答案:
{
"sub_q1": "John Smith",
"sub_q2": "john@example.com",
"sub_q3": 5
}
问题分组非常适合组织多部分问题(例如联系表单部分、偏好设置部分),同时在分组内保持逐一问题的填写流程。
多问题页面
在单个屏幕上同时显示多个问题。与问题分组(逐一显示子问题)不同,多问题页面一次显示所有子问题。
类型标识符:multi_question_page
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
fields | FormQuestion[] | 要在页面上显示的子问题数组。每个子问题是一个完整的问题对象。 | [] |
行为
- 所有子问题在单个屏幕上渲染。
- 受访者填写所有可见问题,然后点击一个"确定"按钮继续。
- 容器的问题编号前缀被隐藏。
- 子问题上的逻辑跳转可以触发导航到多问题页面外的问题。
验证
所有必填子问题必须在页面提交前回答。验证错误以内联方式显示在相关子问题旁边。
答案格式
答案存储为对象(Record<string, unknown>),将每个子问题 ID 映射到其答案:
{
"sub_q1": "Jane Doe",
"sub_q2": "jane@example.com",
"sub_q3": "Engineering"
}
多问题页面在您有多个简短相关问题时非常有用,受访者可以快速回答而无需每个问题单独一个屏幕。这可以显著加快简单问题组的表单完成速度。
Markdown
支持 Markdown 格式的富内容块,带有内联表单字段。您可以在 Markdown 内容中直接嵌入文本输入、下拉菜单和其他交互元素。
类型标识符:markdown
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
markdown | string | Markdown 内容字符串。支持标准 Markdown 格式和内联字段语法。 | "" |
内联字段语法
使用双花括号在 Markdown 中嵌入表单字段:
{{type:label}}
其中 type 是字段类型,label 是字段的显示标签。
行为
- Markdown 问题的问题头部(标题和描述)被隐藏。Markdown 内容本身就是问题。
- 内联字段从 Markdown 内容中解析,并作为交互输入渲染在文本中。
- 受访者填写内联字段并将整个 Markdown 块作为一个答案提交。
验证
每个内联字段根据其类型遵循自己的验证规则。
答案格式
答案存储为对象(Record<string, unknown>),将每个内联字段标签映射到其值。
Markdown 问题非常适合创建填空练习、合同式表单,或任何需要将表单字段穿插在格式化文本中的内容。