---
title: Drawer - 抽屉
path: /drawer
nav:
  order: 1
  title: 桌面组件
  path: /design
group:
  order: 6
  title: 反馈组件
  path: /feedback
---

抽屉常通过单击临近的按钮控件打开，从屏幕边缘滑入的浮层面板，又称半屏弹窗。

## 可查看的抽屉

承载展示性的信息内容。当页面空间有限时，可用抽屉增大页面扩展性。

<code src='./demos/base.tsx'  height='400px'>

## 可操作的抽屉

操作类抽屉在抽屉中承载需要编辑或操作的表单，可在用户需要操作时使用。

<code src='./demos/form.tsx'  height='400px'>

## 不显示蒙层的抽屉

通过设置，可以控制是否显示抽屉的蒙层。

<code src='./demos/noMask.tsx'  height='400px'>

## 不同位置的抽屉

通过设置，可以让抽屉在不同的位置展示。

<code src='./demos/position.tsx'  height='400px'>

## 不同尺寸的抽屉

通过设置，属性控制抽屉展示宽度。

<code src='./demos/size.tsx'  height='400px'>

## 弹出模式抽屉

支持覆盖及推开内容区域的方式展示抽屉。

<code src='./demos/type.tsx'  height='400px'>

## 渲染和呈现在当前父元素的抽屉

指定抽屉出现在父容器元素中。

<code src='./demos/inline.tsx'  height='400px'>

# API

| 参数                | 说明                                                                         | 类型                                                   | 默认值            | 版本   |
| ------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------- | ------ |
| onCancel            | 取消按钮的回调                                                               | () => void                                             |                   |        |
| onOk                | 确定按钮的回调                                                               | () => void                                             |                   |        |
| autoFocus           | 抽屉展开后是否将焦点切换至其 Dom 节点                                        | boolean                                                | true              | 4.17.0 |
| afterVisibleChange  | 切换抽屉时动画结束后的回调                                                   | function(visible)                                      | -                 | 4.17.0 |
| bodyStyle           | 可用于设置 Drawer 内容部分的样式                                             | CSSProperties                                          | -                 |        |
| className           | 对话框外层容器的类名                                                         | string                                                 | -                 |        |
| closable            | 是否显示左上角的关闭按钮                                                     | boolean                                                | true              |        |
| closeIcon           | 自定义关闭图标                                                               | ReactNode                                              |                   |        |
| contentWrapperStyle | 可用于设置 Drawer 包裹内容部分的样式                                         | CSSProperties                                          | -                 |        |
| destroyOnClose      | 关闭时销毁 Drawer 里的子元素                                                 | boolean                                                | false             |        |
| drawerStyle         | 用于设置 Drawer 弹出层的样式                                                 | CSSProperties                                          | -                 |        |
| footer              | 抽屉的页脚                                                                   | ReactNode                                              | -                 |        |
| footerStyle         | 抽屉页脚部件的样式                                                           | CSSProperties                                          | -                 |        |
| forceRender         | 预渲染 Drawer 内元素                                                         | boolean                                                | false             |        |
| getContainer        | 指定 Drawer 挂载的节点，并在容器内展现，false 为挂载在当前位置               | HTMLElement \| () => HTMLElement \| Selectors \| false | body              |        |
| headerStyle         | 用于设置 Drawer 头部的样式                                                   | CSSProperties                                          | -                 |        |
| height              | 高度, 在 placement 为 top 或 bottom 时使用                                   | string \| number                                       | 378               |        |
| keyboard            | 是否支持键盘 esc 关闭                                                        | boolean                                                | true              |        |
| mask                | 是否展示遮罩                                                                 | boolean                                                | true              |        |
| maskClosable        | 点击蒙层是否允许关闭                                                         | boolean                                                | true              |        |
| maskStyle           | 遮罩样式                                                                     | CSSProperties                                          | -                 |        |
| placement           | 抽屉的方向                                                                   | top \| right \| bottom \| left                         | `right`           |        |
| push                | 用于设置多层 Drawer 的推动行为                                               | boolean \| { distance: string \| number }              | { distance: 180 } | 4.5.0+ |
| size                | 预设抽屉宽度（或高度），default 378px 和 large 736px                         | default \| large                                       | 'default'         | 4.17.0 |
| style               | 可用于设置 Drawer 最外层容器的样式，和 drawerStyle 的区别是作用节点包括 mask | CSSProperties                                          | -                 |        |
| title               | 标题                                                                         | ReactNode                                              | -                 |        |
| visible             | Drawer 是否可见                                                              | boolean                                                | -                 |        |
| width               | 宽度                                                                         | string\|number                                         | '400px'           |        |
| zIndex              | 设置 Drawer 的 z-index                                                       | number                                                 | 1000              |        |
| onClose             | 点击遮罩层或左上角叉或取消按钮的回调                                         | function(e)                                            | -                 |        |
