跳到内容
+

焦点陷阱

焦点陷阱组件阻止用户的焦点逃脱其子组件。

FocusTrap API

导入

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

通过阅读关于最小化捆绑包大小的指南,了解它们之间的区别。

Props

名称类型默认值描述
open*bool-

如果为 true,则焦点被锁定。

childrenelement-

单个子内容元素。

disableAutoFocusboolfalse

如果为 true,焦点陷阱在打开时不会自动将焦点转移到自身,并在关闭时将其替换为最后聚焦的元素。 这对于任何具有 disableAutoFocus prop 的焦点陷阱子组件也同样适用。
通常不应将其设置为 true,因为它会降低焦点陷阱对辅助技术(如屏幕阅读器)的可访问性。

disableEnforceFocusboolfalse

如果为 true,焦点陷阱在打开时不会阻止焦点离开焦点陷阱。
通常不应将其设置为 true,因为它会降低焦点陷阱对辅助技术(如屏幕阅读器)的可访问性。

disableRestoreFocusboolfalse

如果为 true,焦点陷阱在隐藏或卸载后不会将焦点恢复到先前聚焦的元素。

getTabbablefunc-

返回根元素内已排序的可 Tab 节点数组(即按照 Tab 顺序)。 例如,您可以提供 "tabbable" npm 依赖项。

签名:function(root: HTMLElement) => void
    isEnabledfuncfunction defaultIsEnabled(): boolean { return true; }

    此 prop 扩展了 open prop。 它允许在更改 open prop 时无需等待重新渲染即可切换打开状态。 此 prop 应该被记忆化。 它可以用于支持同时挂载的多个焦点陷阱。


    该组件无法容纳 ref。