跳至正文

Toggle group

支持单选或多选及游走焦点的切换按钮组。

浏览器
Chrome 123+Firefox 121+Safari 17.5+
层级
0
压缩后大小
1.00 kB
强制布局预算
0 ms
axe 预算
0
支持 SSR
是
基于
elements/choice
公开契约
测试环境

交互示例

Toggle group

Single

Multiple

API

ToggleGroup

属性类型默认值说明
id*string—确定性id和共享输入组名称的基础值。
type"single" | "multiple""single"允许按下一个还是多个切换按钮,据此选择radio或checkbox输入框。
items*readonly ToggleGroupItem[]—每项为{ value, label, disabled? }。
defaultValuestring | readonly string[] | undefined—首次渲染时按下的项。非受控,因此无JavaScript时仍可保持。
valuestring | readonly string[]—ToggleGroupClient的受控值;单选为字符串,多选为数组。
onValueChange(value) => void—ToggleGroupClient的变更回调;客户端状态请使用ToggleGroupClient。
disabledbooleanfalse禁用所有项,并为组添加data-disabled。
aria-label / aria-labelledbystring—组的无障碍名称;没有可见组标签时应提供。
orientation"horizontal" | "vertical""horizontal"切换按钮的排列方向。
classNamestring—应用于组根元素的类名。

键盘

按键操作
Tab将焦点移入组
Arrow keys在各项之间移动焦点
Space切换已聚焦的项

无障碍

单选使用带标签的原生radiogroup,多选使用带标签的group。受控value/onValueChange行为请使用ToggleGroupClient。

样式钩子

data-statedata-disabled