当希望用户从一组选项中仅选择一个,且需要一次性展示所有可用选项时,请使用单选按钮。

选中和未选中的单选按钮
设计规范
用法
何时使用单选按钮
在以下场景中使用单选按钮:
- 从列表中选择单个选项。
- 展示所有可用选项。
如果可用选项列表可以折叠,请考虑改用下拉菜单,因为下拉菜单占用空间更少。例如,国家选择字段如果作为单选按钮组会非常大,且无法通过一次性展示所有选项来帮助用户获得更多上下文信息。
建议做法

当只能从列表中选择一个项目时,请使用单选按钮。
避免做法

当只能从列表中选择一个项目时,不要使用复选框。请改用单选按钮。
默认状态
使用单选按钮时应默认选中其中一个选项(即页面加载时)。
用户控制权
在大多数交互中,用户应该能够撤销和重做他们的操作。对于大多数选择控件,您可以取消选择,但在本例中,您无法点击或轻触已选中的单选按钮来取消选中——选中是一个最终操作。如果没有默认选中项,这种最终性就无法传达。默认选中一个单选按钮向用户传达了必须在集合中选择一个的要求。
加速任务
当单选按钮集合中的一个选项是最理想或最常选择的时,默认选中它会有所帮助。这样做可以降低交互成本,节省用户的时间和点击次数。
暗示的力量
默认选中单选按钮的设计对用户有很强的暗示作用。它可以帮助用户做出最佳决定并增强他们的信心。(请谨慎使用此指导原则,仅用于善意引导。)
开发规范
用法
渲染一个使用单选输入来选择用户类型的界面。
import { RadioControl } from '@wordpress/components';
import { useState } from 'react';
const MyRadioControl = () => {
const [ option, setOption ] = useState( 'a' );
return (
<RadioControl
label="User type"
help="The type of the current user"
selected={ option }
options={ [
{ label: 'Author', value: 'a' },
{ label: 'Editor', value: 'e' },
] }
onChange={ ( value ) => setOption( value ) }
/>
);
};
属性
该组件接受以下属性:
help: string | Element
如果添加此属性,将使用 help 属性的内容生成帮助文本。
- 必填:否
hideLabelFromVision: boolean
如果为 true,则标签仅对屏幕阅读器可见。
- 必填:否
label: string
如果添加此属性,将使用 label 属性的内容生成标签。
- 必填:否
onChange: ( value: string ) => void
接收正在选中的新选项的值作为输入的函数。
- 必填:是
options: { label: string, value: string, description?: string, disabled?: boolean }[]
包含选项值和标签的对象数组。
label:string显示给用户的标签。value:string内部值,用于进行比较和传递给 onChange。description:string可选的帮助文本,显示在标签下方。disabled:boolean是否禁用该选项。必填:否
selected: string
当前选中选项的 value 属性。
- 必填:否
相关组件
- 要从集合中选择一个或多个项目,请使用
CheckboxControl组件。 - 要切换单个设置的开/关状态,请使用
ToggleControl组件。 - 要以分段按钮组格式显示,请使用
ToggleGroupControl组件。