导航组件版本 0.1.0

Tabs 标签页

在同一页面区域内切换多个并列且互斥的内容视图。

使用概览

适合使用

  • 内容属于同一上下文,用户无需同时比较所有面板时。

不建议使用

  • 每个视图需要独立网址层级,或隐藏内容会造成关键信息遗漏时。

真实示例

项目信息标签页

在项目概览与最近动态之间切换。

正在加载示例…

安装

本地候选警告Registry 地址仅指向当前本地文档站;npm 包也只用于本地候选验证,尚未公开发布。
pnpm dlx shadcn@4.16.0 add http://127.0.0.1:3000/r/tabs.json

基础用法

导入

import { Tabs, TabsList, TabsTrigger, TabsContent } from "@richardqiu/quartz/tabs";

JSX

<Tabs defaultValue="overview"><TabsList aria-label="项目信息"><TabsTrigger value="overview">概览</TabsTrigger><TabsTrigger value="activity">动态</TabsTrigger></TabsList><TabsContent value="overview">项目概览内容</TabsContent><TabsContent value="activity">最近动态内容</TabsContent></Tabs>

状态与控制摘要

默认
键盘焦点可见
已禁用
已选择
label · textactive · boolean

API 参考

属性类型默认值说明
orientation"horizontal" | "vertical""horizontal"决定标签列表方向及对应的键盘导航方式。
activationMode"automatic" | "manual""automatic"决定聚焦标签时自动激活还是需要手动确认。

组合结构

  1. 01Tabs
  2. 02TabsList
  3. 03TabsTrigger
  4. 04TabsContent

键盘约定

  • 水平标签使用左右方向键,垂直标签使用上下方向键;Home 与 End 移到首尾可用项。

可访问性契约

  • TabsList 需要能说明相关面板集合的可访问名称。
  • 保持 tab、tablist、tabpanel、选中与禁用语义,且始终显示键盘焦点。