Skip to content

Tabs

标签页,基于 reka-ui 封装并完整转发 props/emits。TabsTabsRoot 的别名。

Anatomy

  • Tabs标签页根 (TabsRoot 别名),承载 modelValue / orientation 等状态
    • TabsList标签容器,默认样式 flex items-center justify-center
    • TabsTrigger单个标签触发器,必须传 value
    • TabsContent与 Trigger 按 value 配对的面板

激活态样式

TabsTriggerTabsContent 会自动带 data-state="active" | "inactive",可用 UnoCSS 写法如 data-[state=active]:bg-white data-[state=active]:text-black 自定义高亮。

基本用法

受控切换

通过 v-model 绑定当前 tab。

概览面板内容

非受控默认值

defaultValue

首次渲染的激活项。

A 的内容

禁用某个 Tab

disabled trigger

A

API

Tabs Props

名称 类型 默认值 说明
modelValuestring受控激活值
defaultValuestring非受控初始值
orientation'horizontal' | 'vertical''horizontal'排列方向
activationMode'automatic' | 'manual''automatic'键盘聚焦时是否立即切换

其余 props 透传至 reka-ui TabsRootProps

Tabs Events

事件 Payload 说明
update:modelValue(value: string)激活值变化

TabsList Props

名称 类型 默认值 说明
classstring容器额外 class;默认含 flex items-center justify-center

其余 props 透传至 reka-ui TabsListProps

TabsTrigger Props

名称 类型 默认值 说明
valuestring与 TabsContent 配对的值(必填)
disabledboolean禁用此标签
classstring触发器 class

TabsContent Props

名称 类型 默认值 说明
valuestring对应 Trigger 的值(必填)
classstring面板 class

Slots

插槽 作用域 说明
default (Tabs)通常放 TabsList + 多个 TabsContent
default (TabsList)若干 TabsTrigger
default (TabsTrigger)标签内容(文字 / 图标)
default (TabsContent)面板内容

可访问性

  • 基于 reka-ui,TabsListrole="tablist",TabsTriggerrole="tab"aria-selecteddata-state
  • 支持 Left/Right(或 Up/Down)、Home/End 的原生键盘导航
  • TabsContentrole="tabpanel" 并与对应触发器通过 aria-controls 关联
  • activationMode="manual" 可在需要延迟加载的场景下按 Enter 再切换

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