跳到主要内容
+

标签页

标签页是用于组织和在相关内容组之间导航的 UI 元素。

useTab API

导入

import { useTab } from '@mui/base/useTab';
// or
import { useTab } from '@mui/base';

通过阅读本指南,了解关于最小化包大小的区别

参数

名称类型描述
disabledboolean

如果为 true,标签页将被禁用。

idstring

标签页的 id。如果未提供,则会自动生成。

onChange(event: React.SyntheticEvent, value: number | string) => void

当新值被设置时调用的回调函数。

onClickReact.MouseEventHandler

当标签页被点击时触发的回调函数。

rootRefReact.Ref<Element>

指向根插槽 DOM 元素的 Ref。

valuenumber | string

标签页的值。它用于将标签页与具有相同值的标签面板关联。如果未提供值,则回退到位置索引。

返回值

名称类型描述
activeboolean

如果为 true,标签页处于激活状态(如同 :active 伪类;换句话说,被按下)。

focusVisibleboolean

如果为 true,标签页具有可见焦点。这是对不支持此特性的浏览器的解决方法。

getRootProps<ExternalProps extends Record<string, unknown> = {}>(externalProps?: ExternalProps) => UseTabRootSlotProps<ExternalProps>

根插槽 props 的解析器。

highlightedboolean

如果为 true,标签页被高亮显示。

indexnumber

标签页在标签页列表中的从 0 开始的索引。

rootRefReact.RefCallback<Element> | null

指向根插槽 DOM 元素的 Ref。

selectedboolean

如果为 true,标签页被选中。

setFocusVisibleReact.Dispatch<React.SetStateAction<boolean>>

设置标签页的 focus-visible 状态。这是对不支持此特性的浏览器的解决方法。

totalTabsCountnumber

最近的父级 TabsList 中的标签页总数。这可以用于确定标签页是否是最后一个,以便相应地设置样式。


useTabPanel API

导入

import { useTabPanel } from '@mui/base/useTabPanel';
// or
import { useTabPanel } from '@mui/base';

通过阅读本指南,了解关于最小化包大小的区别

参数

名称类型描述
idstring

TabPanel 的 id。

rootRefReact.Ref<HTMLElement>

TabPanel 的 ref。

valuenumber | string

TabPanel 的值。当选择具有相应值的 Tab 时,它将显示。

返回值

名称类型描述
getRootProps<ExternalProps extends Record<string, unknown> = {}>(externalProps?: ExternalProps) => UseTabPanelRootSlotProps<ExternalProps>

根插槽 props 的解析器。

hiddenboolean

如果为 true,则表示标签面板将被隐藏。

rootRefReact.Ref<HTMLElement>

useTabs API

导入

import { useTabs } from '@mui/base/useTabs';
// or
import { useTabs } from '@mui/base';

通过阅读本指南,了解关于最小化包大小的区别

参数

名称类型默认值描述
defaultValuestring | number | null-

默认值。当组件不受控制时使用。

direction'ltr' | 'rtl''ltr'

文本方向。

onChange(event: React.SyntheticEvent | null, value: number | string | null) => void-

当新值被设置时调用的回调函数。

orientation'horizontal' | 'vertical''horizontal'

组件方向(布局流方向)。

selectionFollowsFocusboolean-

如果为 true,则选定的标签页在获得焦点时更改。否则,它仅在激活时更改。

valuestring | number | null-

当前选定的 Tab 的值。如果您不希望有任何选定的 Tab,您可以将此 prop 设置为 false

返回值

名称类型描述
contextValueTabsProviderValue

返回要传递给标签页 provider 的值。


useTabsList API

导入

import { useTabsList } from '@mui/base/useTabsList';
// or
import { useTabsList } from '@mui/base';

通过阅读本指南,了解关于最小化包大小的区别

参数

名称类型描述
rootRef*React.Ref<Element>

指向根元素的 Ref。

返回值

名称类型描述
contextValueTabsListProviderValue

要传递到所有标签页之上的 TabListProvider 的值。

dispatch(action: ListAction<string | number>) => void

标签页列表组件的 Action dispatcher。允许以编程方式控制标签页列表。

getRootProps<ExternalProps extends Record<string, unknown> = {}>(externalProps?: ExternalProps) => UseTabsListRootSlotProps<ExternalProps>

根插槽 props 的解析器。

highlightedValuestring | number | null

当前高亮显示的标签页的值。

isRtlboolean

如果为 true,则表示文本方向为从右到左。

orientation'horizontal' | 'vertical'

组件方向(布局流方向)。

rootRefReact.RefCallback<Element> | null
selectedValuestring | number | null

当前选定的标签页的值。