Skip to main content

Drawer 抽屉

使用场景#

在不离开主路径的情况下,为用户提供快速执行操作、确认信息或反馈提示的辅助窗口。

示例#

基本用法#

noInline

弹出方向#

noInline

嵌套抽屉#

noInline

全屏抽屉#

noInline

极简样式#

设置 minimal={true} 后,抽屉只会保留最基本的样式,其余内容完全由上层进行控制。此时 title 和 footer 属性无效。

noInline

API#

字段描述
styleCSSProperties
classNamestring
visibleboolean
抽屉是否显示
onRequestClose(reason: any) => void
抽屉被关闭时的回调
placement"top" | "bottom" | "right" | "left" = right
抽屉出现的位置
titleReactNode
抽屉标题
contentReactNode
renderChildren(pass: { ref: Ref<HTMLDivElement>; 'data-placement': "top" | "bottom" | "right" | "left"; }) => ReactNode
使用 render prop 的形式指定弹层内容,用于精确控制 DOM 结构
footerReactNode
弹窗页脚
wrapperRefRef<HTMLDivElement>
canCloseByIconboolean = false
是否显示对话框关闭图标
浮层交互
canCloseByEscboolean = true
是否支持 esc 按键关闭弹层
canCloseByOutSideClickboolean = true
点击弹层外部区域是否关闭弹层(注意背景层也被认为是外部)
背景层
hasBackdropboolean = true
是否展示背景层
backdropStyleCSSProperties
backdropClassNamestring
浮层生命周期
beforeOpen(state?: any) => Promise<IOverlayAnimationProps>
浮层即将被打开时的回调
onOpen() => void
浮层打开时的回调
afterOpen() => void
浮层打开时的回调
beforeClose() => IOverlayAnimationProps
浮层即将被关闭时的回调
onClose() => void
浮层关闭时的回调
afterClose() => void
浮层关闭后的回调
浮层动画
animationDurationstring = 200ms
动画持续时间(注意该 prop 会作为 CSS 变量的值,使用时要带上单位,例如 `'500ms'`)
animationfalse | { in: string | Keyframes; out: string | Keyframes; }
弹层的出现和消失的动画,可以用 Overlay.animations.{name} 来引用弹层组件内置的动画效果
浮层容器
usePortalboolean
是否使用 portal 来渲染弹层内容
portalContainerHTMLElement | "DOCUMENT_BODY"
渲染组件的容器
disableScrollboolean | "force" = true
是否禁用容器的滚动
Copyright © 2021 Alibaba Inc.
Built with ❤️ by hema-FE.