跳到正文

复选框

Checkbox

初级通用

复选框(Checkbox)是让用户勾选或取消勾选一个选项的表单控件。它解决的是独立选择的问题:多个选项可以同时选中,例如在导出数据时同时勾选 CSV 和 JSON 格式。

你可能会说:「我想让用户在几个选项里随意勾选,能选多个,也能一个都不选。」

动手看看

导出报表选择需要的文件格式,可同时选择多项。
CSV适合在电子表格中打开
JSON适合交给程序继续处理
勾选 CSV
勾选 JSON

用下方两个开关分别切换勾选状态;也可以悬停、按住方框,或按 Tab 聚焦,看看它们给出的交互反馈。

CSV 方框填色并出现对勾,表示这种格式已被选中;JSON 是否选中不受它影响。

JSON 的空方框表示当前未选择它,但仍可随时加入导出格式。

要点

  1. 1

    每一项都有自己的勾选状态

    一个复选框通常只有勾选和未勾选两种选择。比如用户勾选「包含图片」,我们就知道导出时要带上图片;取消勾选则不带。提交表单时,代码需要读取这些状态。

  2. 2

    多个选项可以互不影响

    做通知偏好表单时,你可以分别放「邮件通知」和「站内通知」。用户勾选其中一项,不会自动取消另一项,因为这两个选择彼此独立。

  3. 3

    文字说明要和选项对应

    用户需要知道勾选后会发生什么,所以「包含历史记录」比「历史记录」更明确。把这段文字与复选框关联起来,用户点文字也能切换选项,辅助技术也能读出它的含义。

  4. 4

    全选可能显示部分选中

    如果列表里只有一部分项目被勾选,「全选」框可以显示半选状态,提示你当前选了部分项目。它是对下方选择情况的提示,不代表用户多了一种可提交的选择。

容易混淆的地方

复选框和单选框都能放进表单,但问题不同:选项可以同时成立时用复选框;只能选一个套餐时,用单选框更清楚。它也容易和开关混淆:开关常用于点下去就立即生效的设置;复选框更适合先收集选择,再随表单一起提交。

什么时候用

适合用

  • 做报表导出页时,让用户分别勾选要包含的数据栏目,一次选择多个栏目。
  • 做后台批量操作时,让用户勾选几条订单,再统一执行归档。
  • 做注册表单时,让用户勾选是否订阅产品更新,之后随表单提交选择。

不适合用

  • 用户只能在月付和年付中选一种时,用单选框表达互斥选择。
  • 用户点一下就要立刻开启或关闭消息提醒时,用开关更贴近这个操作。
  • 用户只是要进入隐私政策页面时,用链接;勾选框不能代替页面跳转。

练一练

你在做一个 AI 工具的导出面板,用户可以同时选择导出对话文本、引用来源和生成图片,也可以一项都不选。该用什么控件?

让 AI 帮你做

请在导出面板中用复选框呈现「对话文本」「引用来源」「生成图片」三个独立选项,允许多选或全不选。让每项文字都能点击切换勾选状态,提交时读取各项状态,不要做成互斥选择。

接下来学什么