多选题
向受访者展示一组选项供其选择。支持单选、多选、"其他"自由文本输入、随机排列和按字母排序。每个选项都可以携带各自的图片、视频或图标,layout 属性可在垂直列表与图片卡片网格之间切换——因此这一种类型同时涵盖纯文本选项和基于图片的选项。

类型标识符:multiple_choice
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
choices | Choice[] | 选项数组。每个选项有 id、label 和可选的 media。 | [] |
layout | string | 选项的呈现方式:stacked(垂直列表,可带缩略图)、blocks(图片卡片网格)、staggered(按内容宽度自动换行的标签)或 grid(固定列数网格)。 | stacked |
allowMultiple | boolean | 允许受访者选择多个选项。 | false |
allowOther | boolean | 显示"其他"选项,带自由文本输入框,受访者可输入自定义答案。 | false |
randomize | boolean | 每次显示问题时随机排列选项顺序。 | false |
alphabeticalOrder | boolean | 按字母顺序排列选项。如果启用了 randomize,则忽略此设置(随机排列优先)。 | false |
选项对象
choices 数组中的每个选项包含:
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 此选项的唯一标识符。用于逻辑跳转和评分。 |
label | string | 选项的显示文本。 |
media | QuestionMedia | 此选项的可选图片、视频或图标。设置 media.display 可控制其呈现方式——参见下文。 |
选项媒体
任何选项都可以携带自己的媒体。media.display 决定媒体在选项上的呈现位置:
| 显示方式 | 描述 |
|---|---|
thumbnail | 选项标签旁的小图。 |
background | 图片填满选项区域,裁剪以填充。 |
background-fit | 图片填满选项区域但保持完整,以选项背景色作为留白衬底。 |
选项媒体支持与问题媒体相同的处理方式——滤镜、色调、边框、焦点和缩放。有关填充与适应的区别以及各自的适用场景,请参阅选项媒体显示。
选项媒体即原图片选择题问题类型的继任者。要构建图片卡片网格,请使用多选题并设置 layout: "blocks",同时为每个选项提供 media 对象。从 Typeform 导入的表单会自动将 picture_choice 问题转换为这种结构。
验证
如果 required 为 true,受访者必须至少选择一个选项才能继续。
逻辑跳转运算符
equals、not_equals、is_answered、is_not_answered
使用 equals 或 not_equals 时,比较值为选项 ID。对于多选问题,equals 检查该值是否在所选项中。
答案格式
- 单选(
allowMultiple: false):字符串(所选选项的 ID)。 - 多选(
allowMultiple: true):字符串数组(所选选项的 ID)。
测验模式评分
多选题在所有测验模式中都是可评分的问题类型:
- 知识测验:设置
correctAnswers(正确选项 ID 数组)和correctAnswerScore(每个正确答案的分数)。 - 潜客评估:设置
choiceScores(选项 ID 到分值的映射)。 - 匹配测验:设置
choiceOutcomes(选项 ID 到结束页面问题 ID 的映射)。
选项选择可使用键盘快捷键。受访者可以按字母键(A、B、C 等)选择选项,每个选项旁会显示对应的字母标识。
下拉菜单
用于从选项列表中选择的下拉菜单。支持与多选题相同的配置,但以紧凑的下拉格式显示选项。此处不适用逐选项的 media 和 layout——下拉菜单始终以纯文本呈现选项。

类型标识符:dropdown
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
choices | Choice[] | 选项数组。 | [] |
allowMultiple | boolean | 允许从下拉菜单中选择多个选项。 | false |
allowOther | boolean | 显示带自由文本输入的"其他"选项。 | false |
placeholder | string | 选择前显示的占位符文本。 | 无 |
randomize | boolean | 随机排列选项顺序。 | false |
alphabeticalOrder | boolean | 按字母顺序排列选项。 | false |
验证
如果 required 为 true,受访者必须至少选择一个选项。
逻辑跳转运算符
equals、not_equals、is_answered、is_not_answered
答案格式
- 单选:字符串(所选选项的 ID)。
- 多选:字符串数组(所选选项的 ID)。
测验模式评分
下拉菜单是可评分的问题类型。评分配置与多选题相同。
图片选择题
图片选择题不再是独立的问题类型。 它已并入多选题——不再有可供选择的 picture_choice 标识符。
要实现同样的效果,请使用多选题,将 layout 设置为 blocks,并为每个选项提供 media 对象。图片选择题的全部能力依然可用,还新增了它此前不具备的处理方式:视频和图标选项、滤镜、色调、焦点、缩放,以及能完整显示宽幅图片而不裁剪的适应模式。

{
"type": "multiple_choice",
"properties": {
"layout": "blocks",
"choices": [
{ "id": "c1", "label": "Mountains", "media": { "type": "image", "url": "https://…", "display": "background" } },
{ "id": "c2", "label": "Coast", "media": { "type": "image", "url": "https://…", "display": "background" } }
]
}
}
现有表单和 Typeform 导入内容均会自动处理——picture_choice 问题会自动转换为设置了 layout: "blocks" 的多选题,无需重新编写。
是/否
呈现"是"和"否"按钮的简单二选一问题。

类型标识符:yes_no
属性
是/否问题类型除通用问题属性外没有额外属性。
验证
如果 required 为 true,受访者必须点击"是"或"否"。
逻辑跳转运算符
equals、not_equals、is_answered、is_not_answered
使用 equals 时,与 true(是)或 false(否)比较。字符串值 "true" 和 "false" 也被接受。
答案格式
答案存储为布尔值(true 表示是,false 表示否,未回答时为 null)。
测验模式评分
是/否是可评分的问题类型:
- 知识测验:设置
correctAnswers,值为"true"或"false"。 - 潜客评估:设置
choiceScores,键为"true"和"false"。 - 匹配测验:设置
choiceOutcomes,键为"true"和"false"。
是/否问题在选择后立即自动前进到下一个问题。没有单独的"确定"按钮。
排序
向受访者展示一组项目,通过拖拽操作按偏好顺序排列。

类型标识符:ranking
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
choices | Choice[] | 要排序的项目数组。每个项目有 id 和 label。 | [] |
验证
如果 required 为 true,受访者必须提交排序结果(所有项目必须有确定的顺序)。
逻辑跳转运算符
equals、not_equals、is_answered、is_not_answered
答案格式
答案存储为字符串数组(按受访者排列顺序从第一到最后的选项 ID)。
["choice_3", "choice_1", "choice_2"]
排序字段使用拖放交互。在移动设备上,受访者可以使用触摸手势重新排列项目。
矩阵
基于网格的问题类型,受访者对多个项目(行)在多个类别(列)中进行评价。每个行列交叉处是一个可选选项。

类型标识符:matrix
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
rows | string[] | 行标签数组(被评价的项目)。 | [] |
columns | string[] | 列标签数组(评价类别)。 | [] |
randomizeRows | boolean | 随机排列行的顺序。 | false |
randomizeColumns | boolean | 随机排列列的顺序。 | false |
验证
如果 required 为 true,受访者必须为每一行选择一个选项。
逻辑跳转运算符
equals、not_equals、is_answered、is_not_answered
答案格式
答案存储为对象(Record<string, string>),将每个行标签映射到所选的列标签:
{
"Product Quality": "Excellent",
"Customer Service": "Good",
"Value for Money": "Average"
}
矩阵问题在桌面端显示为响应式网格,在移动设备上适配为堆叠格式以提高可用性。行和列支持独立随机排列。
列表
收集同一类型的多条记录。列表既可容纳纯文本项(输入并按回车键,或点击添加),也可容纳重复的复合组件项——由可复用的复合组件构建的结构化记录,例如将任意数量的董事会成员添加到单个问题中。
类型标识符:list
属性
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
itemType | string | string 表示纯文本项,composite 表示可重复的复合组件实例。 | string |
compositeId | string | 引用的复合组件(仅限复合组件项)。通过选择器设置。 | — |
itemPlaceholder | string | 记录输入框的占位符文本(文本项)。 | — |
addButtonLabel | string | 两种项目模式下添加按钮的自定义标签。 | — |
minItems | number | 提交所需的最少项目数。 | — |
maxItems | number | 最大项目数。硬性上限 100。 | 100 |
itemRegex | string | 逐项验证格式(文本项)。 | — |
itemRegexError | string | 格式验证失败时显示的错误消息。 | — |
itemMinLength | number | 每项的最少字符数(文本项)。 | — |
itemMaxLength | number | 每项的最多字符数(文本项)。 | — |
allowDuplicates | boolean | 允许同一文本项被添加两次(文本项)。 | true |
allowReorder | boolean | 允许受访者拖动项目以重新排序(文本项)。 | true |
defaultItems | string[] | 问题首次加载时预填充的项目(文本项,网页表单)。 | [] |
displayMode | string | 已折叠的复合组件记录如何呈现:compact(单行摘要)或 card(每个字段的标签 + 值)。 | compact |
compactFields | string[] | 在紧凑折叠摘要中显示的有序子字段 ID。默认为复合组件的第一个字段。 | — |
验证
如果 required 为 true,必须至少添加一个项目。minItems / maxItems 在提交时强制执行;逐项的格式和长度规则(文本项)在每个项目添加时强制执行。
逻辑跳转运算符
list_count_equals、list_count_greater_than、list_count_less_than、contains、not_contains、is_answered、is_not_answered
计数运算符与答案中的项目数量进行比较。
答案格式
- 文本项:一个字符串数组。
- 复合组件项:一个对象数组,每个对象以子字段 ID 为键:
[
{ "sub_first_name": "Ada", "sub_email": "ada@example.com" },
{ "sub_first_name": "Grace", "sub_email": "grace@example.com" }
]
每个复合组件项也会被记录为一条独立的复合组件记录——有关跨表单的记录视图和折叠显示模式,请参阅复合组件指南。