2018-05-23 10:56:37 +08:00
---
type: Feedback
category: Components
2018-08-05 11:56:40 +08:00
subtitle:
2018-05-23 10:56:37 +08:00
title: Drawer
2020-05-31 11:48:34 +08:00
cover: https://gw.alipayobjects.com/zos/alicdn/7z8NJQhFb/Drawer.svg
2018-05-23 10:56:37 +08:00
---
2019-04-19 20:59:45 +08:00
A panel which slides in from the edge of the screen.
2018-05-23 10:56:37 +08:00
## When To Use
2019-04-19 20:59:45 +08:00
A Drawer is a panel that is typically overlaid on top of a page and slides in from the side. It contains a set of information or actions. Since the user can interact with the Drawer without leaving the current page, tasks can be achieved more efficiently within the same context.
2018-11-09 15:01:48 +08:00
2019-05-07 14:57:32 +08:00
- Use a Form to create or edit a set of information.
- Processing subtasks. When subtasks are too heavy for a Popover and we still want to keep the subtasks in the context of the main task, Drawer comes very handy.
- When the same Form is needed in multiple places.
2018-05-23 10:56:37 +08:00
## API
2019-11-20 17:46:50 +08:00
| Props | Description | Type | Default |
| --- | --- | --- | --- |
| closable | Whether a close (x) button is visible on top right of the Drawer dialog or not. | boolean | true |
| destroyOnClose | Whether to unmount child components on closing drawer or not. | boolean | false |
2020-04-28 14:09:54 +08:00
| forceRender | Prerender Drawer component forcely | boolean | false |
2019-11-20 17:46:50 +08:00
| getContainer | Return the mounted node for Drawer. | HTMLElement \| `() => HTMLElement` \| Selectors \| false | 'body' |
| mask | Whether to show mask or not. | Boolean | true |
| maskClosable | Clicking on the mask (area outside the Drawer) to close the Drawer or not. | boolean | true |
2020-04-28 14:09:54 +08:00
| maskStyle | Style for Drawer's mask element. | CSSProperties | {} |
| style | Style of wrapper element which **contains mask** compare to `drawerStyle` | CSSProperties | - |
2019-11-20 17:46:50 +08:00
| drawerStyle | Style of the popup layer element | object | - |
| headerStyle | Style of the drawer header part | object | - |
| bodyStyle | Style of the drawer content part | object | - |
| title | The title for Drawer. | string\|ReactNode | - |
| visible | Whether the Drawer dialog is visible or not. | boolean | false |
| width | Width of the Drawer dialog. | string\|number | 256 |
| height | placement is `top` or `bottom` , height of the Drawer dialog. | string\|number | 256 |
| className | The class name of the container of the Drawer dialog. | string | - |
| zIndex | The `z-index` of the Drawer. | Number | 1000 |
2020-01-17 17:23:48 +08:00
| placement | The placement of the Drawer. | `top` \| `right` \| `bottom` \| `left` | `right` |
2019-11-20 17:46:50 +08:00
| onClose | Specify a callback that will be called when a user clicks mask, close button or Cancel button. | function(e) | - |
| afterVisibleChange | Callback after the animation ends when switching drawers. | function(visible) | - |
| keyboard | Whether support press esc to close | Boolean | true |
2020-01-06 14:56:00 +08:00
| footer | The footer for Drawer. | ReactNode | - |
| footerStyle | Style of the drawer footer part. | CSSProperties | - |
2018-08-05 14:28:39 +08:00
< style >
#_hj_feedback_container {
display: none;
}
< / style >