R后悔药 Rue.js
  • 首页
    • 深度指南
    • 实战例子
    • 快速上手
    • 路由指南
    • 术语表
    • 错误代码参考
  • API
    • 合作伙伴
    • 插件
    • 组件库
    • 工具链
    • Text.js
    • 新闻简报
    • 常见问题
    • 团队
    • 版本发布
    • 社区指南
    • 行为规范
    • 隐私政策
  • 赞助
  • 合作伙伴
设置
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window

Tabs 选项卡

Tabs 现在除了使用 Rue 当前的 box / border / lift 视觉,还提供了内容面板、默认激活项、额外操作区、居中、垂直摆放和 editable-card 等更完整的 API。

何时使用

  • 需要在同一信息区域里切换多个视图、状态面板或设置分组时。
  • 既想使用 daisyUI 的 box / border / lift 视觉,又需要受控、垂直摆放、额外操作区或可编辑标签头时。
受控与非受控
支持 `activeKey`、`defaultActiveKey` 与 `onChange`。
内容与布局
支持 `items.children`、`destroyOnHidden`、`centered`、`tabPlacement`。
操作能力
支持 `tabBarExtraContent`、`indicator` 与 `editable-card`。

# tabs

# tabs-border

# tabs-lift

# tabs-box

# content-panels

# tab-bar-extra-content

Workspace
版本计划、优先级排序与协作说明统一放在这里。
时间轴、里程碑和负责人信息可以作为右侧扩展操作的搭配内容。
测试结果、风险等级与回归建议。

# centered-tabs

# tab-placement

左侧导航布局适合文档、设置页和大段信息浏览。
右侧摆放则更适合注释面板或对照式配置区域。

# editable-card

需求说明、依赖评估与风险梳理。
设计走查与交互标注已经完成。
发布检查清单、灰度范围与回滚预案。

# custom-indicator

# Sizes

# tabs-bottom

Tab content 1
Tab content 2
Tab content 3

# tab-disabled

# Tabs with custom color

API

Tabs 同时覆盖基础视觉标签、带面板的内容切换和 editable-card 交互,下面按根组件和单项配置拆开列出。

属性说明类型默认值
items标签数据源,每项至少包含 key 和 label。TabItem[][]
activeKey当前激活项,传入后进入受控模式。string-
defaultActiveKey非受控模式下的初始激活项。string首个未禁用项
onChange切换标签时回调当前 key。(key: string) => void-
type语义化风格,card 与 editable-card 会自动套用 box 视觉。'line' | 'card' | 'editable-card'-
styledaisyUI 视觉风格。'box' | 'border' | 'lift'由 type 推导
placement传统上下摆放位置。'top' | 'bottom''top'
tabPlacement扩展摆放位置,支持垂直导航。'top' | 'bottom' | 'start' | 'end'优先于 placement
size标签尺寸,支持 xs 到 xl 以及 small / middle / large 别名。TabsSize'md'
centered横向模式下居中排列标签头。booleanfalse
destroyOnHidden切换后销毁未激活面板内容。booleanfalse
tabBarExtraContent标签栏额外内容,可传单个节点或 { left, right }。any | { left?: any; right?: any }-
indicator激活态指示条配置,支持对齐、宽度和样式。{ align?: string; size?: number | string; className?: string; style?: Record<string, any> }-
onEditeditable-card 模式下新增或删除标签时触发。(eventOrKey: MouseEvent | string, action: 'add' | 'remove') => void-
hideAddeditable-card 模式下隐藏新增按钮。booleanfalse
addIcon新增按钮自定义内容。any'+'
removeIcon删除按钮默认图标。any'×'
className根节点附加类名。string-
tabBarClassNametablist 附加类名。string-
contentClassName面板容器附加类名。string-
属性说明类型默认值
key标签唯一标识。string-
label标签文案,建议优先传纯文本;复杂前缀建议配合 icon 使用。any-
icon标签前置图标或节点。any-
children对应面板内容;任一项传入后会渲染 tabpanel。any-
disabled禁用当前标签。booleanfalse
className单个标签按钮附加类名。string-
contentClassName单个面板附加类名。string-
closableeditable-card 模式下控制当前项是否可关闭。boolean未禁用项默认为 true
closeIcon当前项自定义关闭图标。any-
使用建议
activeKey + onChange适合和路由、筛选条件、外部状态统一联动。
defaultActiveKey适合静态文档、局部示例 或无需外部接管的轻交互场景。
复杂标签头优先用icon+ 文本label 组合,兼顾语义和稳定渲染。
需要完整内容区域切换时给items.children 传面板节点;只做导航标签时可以只传label。

FAQ

activeKey 和 defaultActiveKey 怎么选?

activeKey是受控模式,当前激活项由外部状态决定;defaultActiveKey只设置初始值,后续切换由组件内部维护。

style 和 type 会冲突吗?

type更偏语义能力,像card、editable-card 会自动套用适合的视觉; 如果你明确传了style,就以显式样式为准。

placement 和 tabPlacement 有什么区别?

placement只覆盖上下位置;tabPlacement额外支持 start和end两种垂直摆放,并且优先级更高。

为什么复杂 label 建议拆成 icon 和文本?

当前组件会给label包一层文本容器。为了避免复杂节点在运行时被串成[object Object],推荐把徽标、点状状态这类前缀放到icon,把主要文案保持在label。

页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS