UIKit
7.13.0
• Tabs组件
UIKit
7.13.0
Date Components
3.1.0
Navigation
3.3.8
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 | 选项卡垂直项目边距 |