使用import { Tabs } from 'antd'; |
文档贡献者
提供平级的区域将大块内容进行收纳和展现,保持界面整洁。
Ant Design 依次提供了三级选项卡,分别用于不同的场景。
通用属性参考:通用属性
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| activeKey | 当前激活 tab 面板的 key | string | - | |
| addIcon | 自定义添加按钮,设置 type="editable-card" 时有效 | ReactNode | <PlusOutlined /> | 4.4.0 |
| animated | 是否使用动画切换 Tabs | boolean| { inkBar: boolean, tabPane: boolean } | { inkBar: true, tabPane: false } | |
| centered | 标签居中展示 | boolean | false | 4.4.0 |
| classNames | 用于自定义组件内部各语义化结构的 class,支持对象或函数 | Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string> | - | |
| defaultActiveKey | 初始化选中面板的 key,如果没有设置 activeKey | string | 第一个面板的 key | |
| hideAdd | 是否隐藏加号图标,在 type="editable-card" 时有效 | boolean | false | |
| indicator | 自定义指示条的长度和对齐方式 | { size?: number | (origin: number) => number; align: start | center | end; } | - | 5.13.0 |
| items | 配置选项卡内容 | TabItemType | [] | 4.23.0 |
| more | 自定义折叠菜单属性 | MoreProps | { icon: <EllipsisOutlined /> , trigger: 'hover' } | |
| removeIcon | 自定义删除按钮,设置 type="editable-card" 时有效 | ReactNode | <CloseOutlined /> | 5.15.0 |
更多菜单的 className, 请使用 classNames.popup 替换 | string | - | 4.21.0 | |
| renderTabBar | 替换 TabBar,用于二次封装标签头 | (props: DefaultTabBarProps, DefaultTabBar: React.ComponentClass) => React.ReactElement | - | |
| size | 大小,提供 large medium 和 small 三种大小 | string | medium | |
| styles | 用于自定义组件内部各语义化结构的行内 style,支持对象或函数 | Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties> | - | |
| tabBarExtraContent | tab bar 上额外的元素 | ReactNode | {left?: ReactNode, right?: ReactNode} | - | object: 4.6.0 |
| tabBarGutter | tabs 之间的间隙 | number | - | |
| tabBarStyle | tab bar 的样式对象 | CSSProperties | - | |
| tabPlacement | 页签位置,可选值有 top end bottom start | string | top | |
页签位置,可选值有 top right bottom left,请使用 tabPlacement 替换 | string | top | ||
被隐藏时是否销毁 DOM 结构,使用 destroyOnHidden 代替 | boolean | false | ||
| destroyOnHidden | 被隐藏时是否销毁 DOM 结构 | boolean | false | 5.25.0 |
| type | 页签的基本样式,可选 line、card editable-card 类型 | string | line | |
| onChange | 切换面板的回调 | (activeKey: string) => void | - | |
| onEdit | 新增和删除页签的回调,在 type="editable-card" 时有效 | (action === 'add' ? event : targetKey, action) => void | - | |
| onTabClick | tab 被点击的回调 | (key: string, event: MouseEvent) => void | - | |
| onTabScroll | tab 滚动时触发 | ({ direction: left | right | top | bottom }) => void | - | 4.3.0 |
更多属性查看 @rc-component/tabs
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| closeIcon | 自定义关闭图标,在 type="editable-card" 时有效。5.7.0:设置为 null 或 false 时隐藏关闭按钮 | ReactNode | - | |
被隐藏时是否销毁 DOM 结构,使用 destroyOnHidden 代替 | boolean | false | 5.11.0 | |
| destroyOnHidden | 被隐藏时是否销毁 DOM 结构 | boolean | false | 5.25.0 |
| disabled | 禁用某一项 | boolean | false | |
| forceRender | 被隐藏时是否渲染 DOM 结构 | boolean | false | |
| key | 对应 activeKey | string | - | |
| label | 选项卡头部文字元素 | ReactNode | - | |
| icon | 选项卡头部图标元素 | ReactNode | - | 5.12.0 |
| children | 选项卡内容元素 | ReactNode | - | |
| closable | 是否显示选项卡的关闭按钮,在 type="editable-card" 时有效 | boolean | true |
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| icon | 自定义折叠图标 | ReactNode | - | |
| DropdownProps |
| Token 名称 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| cardBg | 卡片标签页背景色 | string | rgba(0,0,0,0.02) |
| cardGutter | 卡片标签间距 | number | 2 |
| cardHeight | 卡片标签页高度 | number | 40 |
| cardHeightLG | 大尺寸卡片标签页高度 | number | 48 |
| cardHeightSM | 小尺寸卡片标签页高度 | number | 32 |
| cardPadding | 卡片标签页内间距 | string | 8px 16px |
| cardPaddingLG | 大号卡片标签页内间距 | string | 11px 16px |
| cardPaddingSM | 小号卡片标签页内间距 | string | 4px 8px |
| horizontalItemGutter | 横向标签页标签间距 | number | 32 |
| horizontalItemMargin | 横向标签页标签外间距 | string | |
| horizontalItemMarginRTL | 横向标签页标签外间距(RTL) | string | |
| horizontalItemPadding | 横向标签页标签内间距 | string | 12px 0 |
| horizontalItemPaddingLG | 大号横向标签页标签内间距 | string | 16px 0 |
| horizontalItemPaddingSM | 小号横向标签页标签内间距 | string | 8px 0 |
| horizontalMargin | 横向标签页外间距 | string | 0 0 16px 0 |
| inkBarColor | 指示条颜色 | string | #1677ff |
| itemActiveColor | 标签激活态文本颜色 | string | #0958d9 |
| itemColor | 标签文本颜色 | string | rgba(0,0,0,0.88) |
| itemHoverColor | 标签悬浮态文本颜色 | string | #4096ff |
| itemSelectedColor | 标签选中态文本颜色 | string | #1677ff |
| titleFontSize | 标签页标题文本大小 | number | 14 |
| titleFontSizeLG | 大号标签页标题文本大小 | number | 16 |
| titleFontSizeSM | 小号标签页标题文本大小 | number | 14 |
| verticalItemMargin | 纵向标签页标签外间距 | string | 16px 0 0 0 |
| verticalItemPadding | 纵向标签页标签内间距 | string | 8px 24px |
| zIndexPopup | 下拉菜单 z-index | number | 1050 |
| Token 名称 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| colorBgContainer | 组件的容器背景色,例如:默认按钮、输入框等。务必不要将其与 `colorBgElevated` 混淆。 | string | #ffffff |
| colorBorder | 默认使用的边框颜色, 用于分割不同的元素,例如:表单的分割线、卡片的分割线等。 | string | #d9d9d9 |
| colorBorderSecondary | 比默认使用的边框色要浅一级,此颜色和 colorSplit 的颜色一致。使用的是实色。 | string | #f0f0f0 |
| colorIcon | 控制弱操作图标的颜色,例如 allowClear 或 Alert 关闭按钮。 * | string | rgba(0,0,0,0.45) |
| colorPrimaryBorder | 主色梯度下的描边用色,用在 Slider 等组件的描边上。 | string | #91caff |
| colorText | 最深的文本色。为了符合W3C标准,默认的文本颜色使用了该色,同时这个颜色也是最深的中性色。 | string | rgba(0,0,0,0.88) |
| colorTextDisabled | 控制禁用状态下的字体颜色。 | string | rgba(0,0,0,0.25) |
| colorTextHeading | 控制标题字体颜色。 | string | rgba(0,0,0,0.88) |
| borderRadius | 基础组件的圆角大小,例如按钮、输入框、卡片等 | number | 6 |
| borderRadiusLG | LG号圆角,用于组件中的一些大圆角,如 Card、Modal 等一些组件样式。 | number | 8 |
| boxShadowSecondary | 控制元素二级阴影样式。 | string | 0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05) |
| controlHeight | Ant Design 中按钮和输入框等基础控件的高度 | number | 32 |
| controlHeightLG | 较高的组件高度 | number | 40 |
| controlItemBgHover | 控制组件项在鼠标悬浮时的背景颜色。 | string | rgba(0,0,0,0.04) |
| fontFamily | Ant Design 的字体家族中优先使用系统默认的界面字体,同时提供了一套利于屏显的备用字体库,来维护在不同平台以及浏览器的显示下,字体始终保持良好的易读性和可读性,体现了友好、稳定和专业的特性。 | string | -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' |
| fontSize | 设计系统中使用最广泛的字体大小,文本梯度也将基于该字号进行派生。 | number | 14 |
| fontSizeSM | 小号字体大小 | number | 12 |
| lineHeight | 文本行高 | number | 1.5714285714285714 |
| lineHeightLG | 大型文本行高 | number | 1.5 |
| lineType | 用于控制组件边框、分割线等的样式,默认是实线 | string | solid |
| lineWidth | 用于控制组件边框、分割线等的宽度 | number | 1 |
| lineWidthBold | 描边类组件的默认线宽,如 Button、Input、Select 等输入类控件。 | number | 2 |
| lineWidthFocus | 控制线条的宽度,当组件处于聚焦态时。 | number | 3 |
| margin | 控制元素外边距,中等尺寸。 | number | 16 |
| marginSM | 控制元素外边距,中小尺寸。 | number | 12 |
| marginXS | 控制元素外边距,小尺寸。 | number | 8 |
| marginXXS | 控制元素外边距,最小尺寸。 | number | 4 |
| motionDurationMid | 动效播放速度,中速。用于中型元素动画交互 | string | 0.2s |
| motionDurationSlow | 动效播放速度,慢速。用于大型元素如面板动画交互 | string | 0.3s |
| motionEaseInOut | 预设动效曲率 | string | |
| motionEaseInQuint | 预设动效曲率 | string | |
| motionEaseOutQuint | 预设动效曲率 | string | |
| paddingLG | 控制元素的大内间距。 | number | 24 |
| paddingSM | 控制元素的小内间距。 | number | 12 |
| paddingXXS | 控制元素的极小内间距。 | number | 4 |