Tabs

size
disabled
import {TabProvider, TabList, Tab, TabPanel} from '@gravity-ui/uikit';

选项卡组件用于浏览、组织内容并在不同视图之间切换。

First Panel
Second Panel
Third Panel
<TabProvider value={activeTab} onUpdate={setActiveTab}>
    <TabList>
        <Tab value="first">First Tab</Tab>
        <Tab value="second">Active Tab</Tab>
        <Tab value="third" disabled>Disabled Tab</Tab>
    </TabList>
    <div>
        <TabPanel value="first">First Panel</TabPanel>
        <TabPanel value="second">Second Panel</TabPanel>
        <TabPanel value="third">Third Panel</TabPanel>
    </div>
</TabProvider>

组件

TabProvider

提供选项卡选择功能的组件

属性

姓名描述类型默认
儿童选项卡和选项卡面板列表,可能有一些包装器React.ReactNode
价值当前选项卡值string
onUpdate更新选项卡处理器(value: string) => void

TabList

用作一组容器的组件 tabs

大小

要控制大小, tabs 请使用该 size 属性。默认大小为 m

<TabList value="second" size="m">
    <Tab value="first">M Size first</Tab>
    <Tab value="second">M Size second</Tab>
</TabList>

<TabList value="second" size="l">
    <Tab value="first">L Size first</Tab>
    <Tab value="second">L Size second</Tab>
</TabList>

<TabList value="second" size="xl">
    <Tab value="first">XL Size first</Tab>
    <Tab value="second">v Size second</Tab>
</TabList>

属性

姓名描述类型默认
儿童选项卡列表,可能有一些包装器React.ReactNode
价值当前选项卡值string
onUpdate更新选项卡处理器(value: string) => void
className元素的 CSS 类string
activateOnFocus在对焦时激活选项卡。仅在可以立即显示面板内容时才使用此选项booleanfalse
尺寸元素大小"m" "xl""m"
qaHTML data-qa 属性,用于测试string

选项卡

此组件用于渲染选项卡项目。

图标

在需要显示选项卡项目的图标时使用。

<TabList value="first">
    <Tab value="first" icon={<Icon size={16} data={GearIcon} />}>Tab with icon</Tab>
    <Tab value="second">Tab without icon</Tab>
</TabList>

国家

选项卡项目已禁用标志。

<TabList value="first">
    <Tab value="first" >First Tab</Tab>
    <Tab value="second" disabled>Disabled Tab</Tab>
</TabList>

计数器

在需要显示选项卡项目的数字时使用。

<TabList value="first">
    <Tab value="first" counter={13}>First Tab</Tab>
    <Tab value="second" counter={3}>Second Tab</Tab>
</TabList>

标签

在需要显示选项卡项目的标签时使用。

<TabList value="first">
    <Tab value="first" label={{content: 'Label 1'}}>First Tab</Tab>
    <Tab value="second" label={{content: 'Label 2'}}>Second Tab</Tab>
</TabList>

属性

姓名描述类型默认
价值选项卡值string
标题选项卡标题string
图标开始时显示的图标React.ReactNode
计数器最后显示的内容number string
href要链接的网址。string
标签<Label> 最后显示React.ReactNode
残疾的非活动状态boolean
儿童选项卡的内容React.ReactNode
qaHTML data-qa 属性,用于测试string

TabPanel

是与选项卡关联的内容的容器元素

属性

姓名描述类型默认
儿童面板内容React.ReactNode
价值当前选项卡值string
qaHTML data-qa 属性,用于测试string

CSS API

姓名描述
--g-tabs-border-width选项卡边框宽度
--g-tabs-item-height选项卡项目高度
--g-tabs-item-border-width选项卡项目边框宽度
--g-tabs-item-gap选项卡之间的距离
--g-tabs-vertical-item-height选项卡的垂直项目高度
--g-tabs-vertical-item-padding选项卡垂直项目边距