JGuang

标签页

Tabs · Arco Design

交互预览
npm install @arco-design/web-react@2.66.18

标签页 Tabs

将内容组织同一视图中,一次可查看一个视图内容。查看其他内容可切换选项卡查看。

安装

npm install @arco-design/web-react@2.66.18

在入口引入 @arco-design/web-react/dist/css/arco.css,用 ConfigProvider 设置语言。React 19 项目还需在入口最先引入 @arco-design/web-react/es/_util/react-19-adapter,否则 Message、Modal 等命令式 API 无法渲染。

示例

  • 基础用法:最简单的使用。
  • 带图标的页签:通过自定义的 title, 可以给页签加 icon。
  • 位置:通过 tabPosition 设置位置。
  • 不同类型:使用 type 属性设置不同类型的页签。
  • 附加:通过 extra 可以在页签的右侧添加额外内容。
  • 动态增减页签:动态增减页签。仅在 type=card | card-gutter的时候生效。
  • 受控模式:通过 activeTab 开启受控模式。
  • 嵌套使用:组件可以嵌套使用。
  • 不同尺寸:使用 size 属性设置不同尺寸的页签。
  • 滚动:支持通过滚轮或者触摸板进行滚动操作。
  • 滚动偏移位置:支持设置 scrollPosition 来改变选中的选项卡的滚动位置

示例来自 Arco Design 官方仓库(MIT),固定在 npm 2.66.18 对应的提交;部分示例使用在线图片或上传地址,预览中网络请求被禁用。

API

Tabs

参数名描述类型默认值版本
destroyOnHide是否销毁隐藏标签页的节点, TabPane 的该属性优先级高于 Tabs。boolean--
editable是否允许增减标签。只在 type 为 card 或 card-gutter 时候生效。boolean--
headerPadding选项卡头部是否存在水平边距。仅对 type等于 line、text类型的选项卡生效booleantrue2.6.0
justify高度撑满容器,只在水平模式下生效。(默认的高度是又撑起的。)boolean--
lazyload设置为 true 时,将不会在组件挂载的时候渲染被隐藏的标签页。booleantrue-
showAddButton是否显示新增按钮(仅在editable为true时生效)booleantrue-
activeTab当前选中的 tab 的 keystring--
defaultActiveTab默认选中的标签选项卡,如不指定默认选择第一个string--
direction标签选项卡的方向是水平还是竖直,分别对应 horizontal 和 vertical。** 注意: 已废弃,使用 tabPosition 替代。**'horizontal' | 'vertical'--
inkBarSize定制下划线尺寸{ width?: CSSProperties['width']; height?: CSSProperties['height'] }-2.54.0
overflow标签页较多时候,选择滚动/下拉菜单形式展示 tab'scroll' | 'dropdown'scroll-
scrollPosition被选中 tab 的滚动位置,默认 auto 即会将 activeTab 滚动到可见区域,但不会特意做位置调整'start' | 'end' | 'center' | 'auto' | numberauto2.25.0
size有四个尺寸供选择,分别为mini, small, default, large'mini' | 'small' | 'default' | 'large'--
tabPosition选项卡位置'left' | 'right' | 'top' | 'bottom'top-
type标签选项卡的类型'line' | 'card' | 'card-gutter' | 'text' | 'rounded' | 'capsule'line-
addButton自定义新增按钮ReactNode-2.16.0
deleteButton自定义删除按钮ReactNode-2.16.0
extra显示在标签页右侧的附加ReactNode--
animation是否开启过渡效果boolean | { tabPane?: boolean; inkBar?: boolean }--
className节点类名string | string[]--
icons标签页头部 编辑/滚动/下拉 图标配置。对于不想展示的图标可以将其设置为null{add?: ReactNode;delete?: ReactNode;prev?: ReactNode;next?: ReactNode;dropdown?: ReactNode;}-2.15.0, prev,next,dropdown in 2.47.0
scrollAfterEdit是否在标签增减后,自动进行滚动调整(editable为true时生效){delete?: boolean;add?: boolean;}{ add: true, delete: true }2.25.0
style节点样式CSSProperties--
onAddTab点击新增 tab 按钮的回调() => void--
onChangeactiveTab 改变的回调(key: string) => void--
onClickTab点击选项卡的回调(key: string) => void--
onDeleteTab点击删除按钮的回调(key: string) => void--
renderTabHeader自定义选项卡头部(tabProps: TabsProps, DefaultTabHeader: typeof TabHeader) => ReactElement--
renderTabTitle自定义单个选项卡头部(tabTitle: ReactNode,info: {key: string | number;isActive: boolean;disabled: boolean;editable: boolean;}) => ReactNode--

Tabs.TabPane

参数名描述类型默认值
closable动态增减标签页时是否允许关闭当前标签页boolean-
destroyOnHide选项卡隐藏的时候是否销毁标签页内的DOM结构,优先级高于 Tabs 的 destroyOnHide 属性boolean-
disabled是否禁用boolean-
title选项卡的标题显示string | ReactNode (必填)-
className节点类名string | string[]-
style节点样式CSSProperties-