使用高级 Chakra UI 组件,构建更快 💎

了解更多
跳到内容
文档演练场指南博客
赞助

选项卡

用于在选项卡界面中显示内容

源码Storybook配方Ark
管理您的团队成员

用法

import { Tabs } from "@chakra-ui/react"
<Tabs.Root>
  <Tabs.List>
    <Tabs.Trigger />
    <Tabs.Indicator />
  </Tabs.List>
  <Tabs.Content />
</Tabs.Root>

示例

变体

使用 variant 属性更改选项卡的视觉样式。

管理您的团队成员
管理您的团队成员
管理您的团队成员
管理您的团队成员
管理您的团队成员

懒加载

使用 lazyMount 和/或 unmountOnExit 属性,仅在选项卡处于活动状态时渲染其内容。这对于性能优化很有用。

选项卡 1:内容 0

指示器

渲染 Tabs.Indicator 组件以显示活动选项卡的视觉指示器。

管理您的团队成员

asChild 传递给 Tabs.Trigger 组件,将链接渲染为选项卡。点击选项卡时,将导航到该链接。

成员项目
管理您的团队成员

当使用自定义路由链接时,您需要在 Tabs.Root 组件上设置 navigate 属性。

"use client"

import { Tabs } from "@chakra-ui/react"
import { useNavigate } from "react-router-dom"

const Demo = () => {
  const navigate = useNavigate()
  return (
    <Tabs.Root navigate={({ value, node }) => navigate(`/${value}`)}>
      {/* ... */}
    </Tabs.Root>
  )
}

自适应

使用 fitted 属性使选项卡适应容器的宽度。

受控

使用 valueonValueChange 属性来控制活动选项卡。

第一个面板

存储

控制选项卡的另一种方法是使用 RootProvider 组件和 useTabs 存储钩子。

通过这种方式,您可以从选项卡外部访问选项卡的状态和方法。

已选择成员
管理您的团队成员

禁用选项卡

Tabs.Trigger 组件上设置 disabled 属性以禁用选项卡。

手动激活

默认情况下,当按下方向键时,选项卡会被选中。通过将 activationBehavior 属性设置为 manual 来禁用此行为。

在此模式下,选项卡只有在被点击或按下回车键时才会被选中。

动态

这是一个如何动态添加和移除选项卡的示例。

选项卡内容 1

Dolore ex esse laboris elit magna esse sunt. Pariatur in veniam Lorem est occaecat do magna nisi mollit ipsum sit adipisicing fugiat ex. Pariatur ullamco exercitation ea qui adipisicing. Id cupidatat aute id ut excepteur exercitation magna pariatur. Mollit irure irure reprehenderit pariatur eiusmod proident Lorem deserunt duis cillum mollit.

动画

使用 _open_close 条件属性来为选项卡添加动画。

Dolore ex esse laboris elit magna esse sunt

属性

属性默认值类型
activationMode '\'automatic\''
'manual' | 'automatic'

选项卡的激活模式。可以是 `manual` 或 `automatic` - `manual`:点击或按下 `enter` 键时激活选项卡。 - `automatic`:获得焦点时激活选项卡。

lazyMount false
布尔值

是否启用懒加载

loopFocus true
布尔值

键盘导航是否会在最后一个选项卡和第一个选项卡之间循环。

orientation '\'horizontal\''
'horizontal' | 'vertical'

选项卡的排列方向。可以是 `horizontal` 或 `vertical` - `horizontal`:仅支持左右方向键导航。 - `vertical`:仅支持上下方向键导航。

unmountOnExit false
布尔值

退出时是否卸载。

colorPalette 'gray'
'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink'

组件的调色板

size 'md'
'sm' | 'md' | 'lg'

组件的大小

variant 'line'
'line' | 'subtle' | 'enclosed' | 'outline' | 'plain'

组件的变体

asChild
布尔值

使用提供的子元素作为默认渲染元素,结合它们的属性和行为。

欲了解更多详情,请阅读我们的 组合 指南。
composite
布尔值

选项卡是否是组合的

defaultValue
字符串

选项卡首次渲染时的初始值。在您不需要控制选项卡状态时使用。

deselectable
布尔值

点击时是否可以取消选中活动选项卡。

id
字符串

机器的唯一标识符。

ids
Partial<{ root: string trigger: string list: string content: string indicator: string }>

选项卡中元素的 ID。对于组合很有用。

navigate
(details: NavigateDetails) => void

点击时导航到选中选项卡的函数。如果选项卡触发器是锚点元素,则很有用。

onFocusChange
(details: FocusChangeDetails) => void

当焦点选项卡改变时调用的回调函数

onValueChange
(details: ValueChangeDetails) => void

当选中/活动选项卡改变时调用的回调函数

translations
IntlTranslations

指定用于标识可访问性元素及其状态的本地化字符串

value
字符串

选中的选项卡 ID

fitted
'true' | 'false'

组件的自适应模式

justify
'start' | 'center' | 'end'

组件的对齐方式

触发器

属性默认值类型
value *
字符串

选项卡的值

asChild
布尔值

使用提供的子元素作为默认渲染元素,结合它们的属性和行为。

欲了解更多详情,请阅读我们的 组合 指南。
disabled
布尔值

选项卡是否被禁用

内容

属性默认值类型
value *
字符串

选项卡的值

asChild
布尔值

使用提供的子元素作为默认渲染元素,结合它们的属性和行为。

欲了解更多详情,请阅读我们的 组合 指南。

上一页

开关

下一页

表格