UIKit
7.26.2
• Portal组件
UIKit
7.26.2
AccordionActionTooltipAlertArrowToggleAvatarBreadcrumbsButtonCardCheckboxDisclosureDividerDropdownMenuFilePreviewHelpMarkHotkeyIconLabelLinkListLoaderMenuModalOverlayPaginationPalettePinInputPopoverPopupPortalProgressRadioRadioGroupSegmentedRadioGroupSelectSheetSkeletonSliderSpinStepperSwitchTableTabsTextTextAreaTextInputToasterTocTooltipUserUserLabel
Date Components
3.4.1
Navigation
3.10.1
import {Portal} from '@gravity-ui/uikit';
Portal 是一个实用程序组件。基本上,它是一个围绕 React 的简单包装器 createPortal ,它允许你将子组件渲染到父组件之外的 DOM 节点中。
§容器
默认情况下,将其子项 Portal 渲染为 document.body ;但是,您可以使用该 container 属性对其进行更改。
此外,你可以使用该 PortalProvder 组件为 React 子树中的所有 Portal人提供一个容器。
import {Portal, PortalProvider} from '@gravity-ui/uikit'
const myRoot = document.getElementById('my-root');
<Portal>This is rendered inside document.body</Portal>
<Portal container={myRoot}>This is rendered inside #my-root node</Portal>
<PortalProvider container={myRoot}>
<Portal>This is also rendered inside #my-root</Portal>
</PortalProvider>
§属性
| 姓名 | 描述 | 类型 | 默认 |
|---|---|---|---|
| 儿童 | 任何 React 内容 | React.ReactNode | |
| 容器 | 要挂载的 DOM 元素的子元素 | HTMLElement | document.body |
| disablePortal | 如果为 true,则在普通 DOM 层次结构中呈现子级。 | boolean |