Skip to main content

导航栏 Tabs

基于 @radix-ui/react-tabs 封装的无障碍标签页组件,具备优雅的样式、状态管理和动画支持。


📦 引入方式

import { Tabs, TabsContent, TabsList, TabsTrigger } from '@npmqg/react-ui-tabs';

🧩 使用示例

📚 基本使用

这里是账户信息内容。

📚 垂直方向排列

内容 A

🧩 组件结构

组件名描述
Tabs根组件,控制整体状态
TabsList标签按钮容器(<div>
TabsTrigger标签按钮(<button>
TabsContent对应标签的内容区域(<div>

🧩 组件结构

组件名属性类型默认值说明
Tabsvaluestring当前激活的 tab 键值
defaultValuestring默认选中项
onValueChange(value: string) => void切换时回调
orientation'horizontal' | 'vertical''horizontal'tab 列排列方向
TabsListclassNamestring自定义样式类名
TabsTriggervaluestring关联的内容标识
disabledbooleanfalse禁用状态
data-statestring激活态:data-state=active,加背景、高亮字体、阴影
TabsContentvaluestring关联的触发键值

🎨 样式说明(Tailwind)

  • TabsList 使用 inline-flex 实现横向标签布局
  • TabsTriggerdata-[state=active] 状态下自动应用背景色、文字色与阴影
  • 所有组件都支持 className 进行样式扩展

💡 使用建议

  • valuedefaultValue 使用唯一标识字符串即可
  • 结合动画库(如 Framer Motion)可实现渐变效果
  • 可封装成动态选项卡组件(如可添加/关闭 tab)