Skip to content

Toggle ​

切换按钮,支持三种视觉变体。包含 Toggle(单个切换)、ToggleGroup 与 ToggleGroupItem(分组切换)。

Anatomy ​

  • Toggle独立的切换按钮,状态为按压 / 未按压
  • ToggleGroup一组切换按钮的容器,支持单选或多选
    • ToggleGroupItem分组内的单个切换项,必须提供唯一 value

基本用法 ​

受控 v-model

状态: false

变体 ​

variant="button" ​

按钮样式

variant="navigation" ​

导航样式

variant="icon" ​

图标样式

ToggleGroup ​

单选 ​

type='single'

仅允许选中一项,modelValue 为字符串。

多选 ​

type='multiple'

允许选中多项,modelValue 为字符串数组。

API ​

Toggle Props ​

名称 类型 默认值 说明
variant'button' | 'navigation' | 'icon'—视觉变体
modelValueboolean—受控按压状态,可使用 v-model
defaultValueboolean—非受控默认值
disabledboolean—禁用
classstring—额外 class

Toggle Events ​

事件 Payload 说明
update:modelValue(value: boolean)按压状态变化

ToggleGroup Props ​

名称 类型 默认值 说明
type'single' | 'multiple'—选择模式
variant'button' | 'navigation' | 'icon'—视觉变体,作用于子项
modelValuestring | string[]—受控值,类型随 type 而定
classstring—额外 class

其余 props 透传至 reka-ui ToggleGroupRoot,详见 reka-ui 文档。

ToggleGroup Events ​

事件 Payload 说明
update:modelValue(value: string | string[])选中值变化

ToggleGroupItem Props ​

名称 类型 默认值 说明
valuestring—必填。分组内的唯一标识
disabledboolean—禁用该子项
classstring—额外 class

可访问性 ​

  • 基于 reka-ui,Toggle 渲染为 <button> 并设置 aria-pressed
  • ToggleGroup 内部启用焦点漫游,支持方向键切换焦点、Space/Enter 选中
  • 图标变体请在父容器或按钮上设置 aria-label 说明操作含义

基于 MIT 协议发布(内部使用)