60 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
| ---
 | ||
| category: Components
 | ||
| type: 反馈
 | ||
| title: Drawer
 | ||
| subtitle: 抽屉
 | ||
| cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*v3TvSq2E0HAAAAAAAAAAAAAADrJ8AQ/original
 | ||
| coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*4wzwRIBLuqEAAAAAAAAAAAAADrJ8AQ/original
 | ||
| ---
 | ||
| 
 | ||
| 屏幕边缘滑出的浮层面板。
 | ||
| 
 | ||
| ## 何时使用
 | ||
| 
 | ||
| 抽屉从父窗体边缘滑入,覆盖住部分父窗体内容。用户在抽屉内操作时不必离开当前任务,操作完成后,可以平滑地回到原任务。
 | ||
| 
 | ||
| - 当需要一个附加的面板来控制父窗体内容,这个面板在需要时呼出。比如,控制界面展示样式,往界面中添加内容。
 | ||
| - 当需要在当前任务流中插入临时任务,创建或预览附加内容。比如展示协议条款,创建子对象。
 | ||
| 
 | ||
| ## API
 | ||
| 
 | ||
| **🚨 注意:** v4 使用 `rootClassName` 与 `rootStyle` 来配置最外层元素样式。原 v4 `class` 与 `style` 改至配置 Drawer 窗体样式以和 Modal 对齐。
 | ||
| 
 | ||
| | 参数 | 说明 | 类型 | 默认值 | 版本 |
 | ||
| | --- | --- | --- | --- | --- |
 | ||
| | autofocus | 抽屉展开后是否将焦点切换至其 Dom 节点 | boolean | true | 3.0.0 |
 | ||
| | bodyStyle | 可用于设置 Drawer 内容部分的样式 | CSSProperties | - |  |
 | ||
| | class | Drawer 容器外层 className 设置,如果需要设置最外层,请使用 rootClassName | string | - |  |
 | ||
| | closable | 是否显示左上角的关闭按钮 | boolean | true |  |
 | ||
| | closeIcon | 自定义关闭图标 | VNode \| slot | `<CloseOutlined />` | 3.0.0 |
 | ||
| | contentWrapperStyle | 可用于设置 Drawer 包裹内容部分的样式 | CSSProperties | - | 3.0.0 |
 | ||
| | destroyOnClose | 关闭时销毁 Drawer 里的子元素 | boolean | false |  |
 | ||
| | extra | 抽屉右上角的操作区域 | VNode \| slot | - | 3.0.0 |
 | ||
| | footer | 抽屉的页脚 | VNode \| slot | - | 3.0.0 |
 | ||
| | footerStyle | 抽屉页脚部件的样式 | CSSProperties | - | 3.0.0 |
 | ||
| | forceRender | 预渲染 Drawer 内元素 | boolean | false | 3.0.0 |
 | ||
| | getContainer | 指定 Drawer 挂载的节点,**并在容器内展现** \| `() => HTMLElement` \| Selectors | 'body' |  |
 | ||
| | headerStyle | 用于设置 Drawer 头部的样式 | CSSProperties | - | 3.0.0 |
 | ||
| | 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 } | 3.0.0 |
 | ||
| | rootClassName | 对话框外层容器的类名 | string | - | 4.0 |
 | ||
| | rootStyle | 可用于设置 Drawer 最外层容器的样式,和 `style` 的区别是作用节点包括 `mask` | CSSProperties | - | 4.0 |
 | ||
| | size | 预设抽屉宽度(或高度),default `378px` 和 large `736px` | `default` \| `large` | `default` | 3.0.0 |
 | ||
| | style | 设计 Drawer 容器样式,如果你只需要设置内容部分请使用 `bodyStyle` | CSSProperties | - |  |
 | ||
| | title | 标题 | string \| slot | - |  |
 | ||
| | open(v-model) | Drawer 是否可见 | boolean | - | 4.0 |
 | ||
| | width | 宽度 | string \| number | 378 |  |
 | ||
| | zIndex | 设置 Drawer 的 `z-index` | Number | 1000 |  |
 | ||
| 
 | ||
| ## 事件
 | ||
| 
 | ||
| | 事件名称            | 描述                                 | 类型           | 默认值 | 版本 |
 | ||
| | --------------- | ------------------------------------ | -------------- | ------ | ---- |
 | ||
| | afterOpenChange | 切换抽屉时动画结束后的回调           | function(open) | 无     | 4.0  |
 | ||
| | close           | 点击遮罩层或左上角叉或取消按钮的回调 | function(e)    | 无     |      |
 |