Skip to content

Toggle

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

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 协议发布(内部使用)