UIKit
7.24.0
• Tabs组件
UIKit
7.24.0
Date Components
3.3.2
Navigation
3.7.2
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 | 在对焦时激活选项卡。仅在可以立即显示面板内容时才使用此选项 | boolean | false |
| 尺寸 | 元素大小 | "m" "xl" | "m" |
| qa | HTML 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 | |
| qa | HTML data-qa 属性,用于测试 | string |
§TabPanel
是与选项卡关联的内容的容器元素
§属性
| 姓名 | 描述 | 类型 | 默认 |
|---|---|---|---|
| 儿童 | 面板内容 | React.ReactNode | |
| 价值 | 当前选项卡值 | string | |
| qa | HTML 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 | 选项卡垂直项目边距 |