抽屉 Drawer
触发命令后,从屏幕一侧滑出的抽屉式的面板。
基本用法
点击触发按钮抽屉从右侧滑出,点击遮罩区关闭。
抽屉位置
自定义位置,设置 palcement
取值则抽屉从相应的位置滑出。
自定义节点
通过设置 header
、footer
为false
、hideCancel
为true
来控制显示或隐藏。
嵌套抽屉
在抽屉内打开新的抽屉。
API
<modal>
Props
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
visible (v-model) | 对话框是否可见 | boolean | false |
placement | 抽屉放置的位置 | `'top' | 'right' |
top | 对话框的距离顶部的高度,居中显示开启的情况下不生效 | number | 'center' | - |
title | 标题 | string | - |
mask | 是否显示遮罩层 | boolean | true |
mask-closable | 点击遮罩层是否可以关闭 | boolean | true |
closable | 是否展示关闭按钮 | ||
boolean | true | ||
ok-text | 确认按钮的内容 | string | - |
cancel-text | 取消按钮的内容 | string | - |
okButtonProps | 确认按钮的Props | object | - |
cancelButtonProps | 取消按钮的Props | boolean | - |
width | 抽屉的宽度(仅在placement为right,left时可用) | number | string | 250 |
height | 抽屉的高度(仅在placement为top,bottom时可用) | number | string | 250 |
drawerStyle | 抽屉的样式 | CSSProperties | - |
on-before-ok | 触发 ok 事件前的回调函数。如果返回 false 则不会触发后续事件,也可使用 done 进行异步关闭。 | ( done: (closed: boolean) => void) => void | boolean | Promise<void | boolean> | - |
on-before-cancel | 触发 cancel 事件前的回调函数。如果返回 false 则不会触发后续事件 | ||
( done: (closed: boolean) => void) => void | boolean | Promise<void | boolean> | - | ||
header | 是否展示头部部分 | boolean | true |
footer | 是否展示底部部分 | boolean | true |
hide-cancel | 是否隐藏取消按钮 | boolean | false |
<drawer>
Events
事件名 | 描述 | 参数 |
---|---|---|
ok | 点击确定按钮时触发 | - |
cancel | 点击取消、关闭按钮时触发 | - |
open | 对话框打开后(动画结束)触发 | - |
close | 对话框关闭后(动画结束)触发 | - |
before-open | 对话框打开前触发 | - |
before-close | 对话框关闭前触发 | - |
<drawer>
Slots
插槽名 | 描述 | 参数 |
---|---|---|
header | 页眉 | - |
title | 标题 | - |
footer | 页脚 | - |
DrawerConfig
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
placement | 抽屉放置的位置 | `'top' | 'right' |
title | 标题 | RenderContent | - |
content | 内容 | RenderContent | - |
mask | 是否显示遮罩层 | boolean | true |
maskClosable | 点击遮罩层是否可以关闭 | ||
boolean | true | ||
closable | 是否展示关闭按钮 | boolean | true |
okText | 确认按钮的内容 | string | - |
cancelText | 取消按钮的内容 | string | - |
okButtonProps | 确认按钮的Props | ButtonProps | - |
cancelButtonProps | 取消按钮的Props | ButtonProps | - |
width | 抽屉的宽度(仅在placement为right,left时可用) | number | string | 250 |
height | 抽屉的高度(仅在placement为top,bottom时可用) | number | string | 250 |
drawerStyle | 抽屉的样式 | CSSProperties | - |
onOk | 点击确定按钮时触发 | () => void | - |
onCancel | 点击取消、关闭按钮时触发 | () => void | - |
onBeforeOk | 触发 ok 事件前的回调函数。如果返回 false 则不会触发后续事件,也可使用 done 进行异步关闭。 | ( done: (closed: boolean) => void ) => void | boolean | Promise<void | boolean> | - |
onBeforeCancel | 触发 cancel 事件前的回调函数。如果返回 false 则不会触发后续事件。 | () => boolean | - |
onOpen | 抽屉打开后(动画结束)触发 | ||
() => void | - | ||
onClose | 抽屉关闭后(动画结束)触发 | ||
() => void | - | ||
onBeforeOpen | 抽屉打开前触发 | ||
() => void | - | ||
onBeforeClose | 抽屉关闭前触发 | ||
() => void | - | ||
header | 是否展示头部部分 | boolean | true |
footer | 是否展示底部部分 | boolean | true |
hide-cancel | 是否隐藏取消按钮 | boolean | false |
DrawerReturn
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
close | 关闭抽屉 | () => void | - |
DrawerMethod
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
open | 打开抽屉 | (config: DrawerConfig, appContext?: AppContext) => DrawerReturn | - |