Skip to content
目录

Drawer 抽屉

像抽屉一样的弹出层组件,在你不想使用 Dialog 的时候,可以用它代替,它与 Dialog 几乎一致,但拥有与 Dialog 完全不同的视觉效果。

基础用法

通过 v-model 指定,绑定显示状态。title 属性添加标题。

不同方位

通过 direction 属性,使 Drawer 从不同方位出现。仅支持 'l-r''r-l''t-b''b-t'

TIP

'l-r''r-l''t-b''b-t' 的完整含义:

  1. l-r: 'left to right'
  2. r-l: 'right to left'
  3. t-b: 'top to bottom'
  4. b-t: 'bottom to top'

自定义

通过 title 属性自定义标题。width 属性自定义宽度,height 属性自定义高度。通过 headerdefaultfooter 插槽定义对应区域内。设置 :show-close="false" 隐藏关闭按钮。

WARNING

注意!

  1. title 属性为空或者不设置则无标题。
  2. header 插槽会覆盖 title 属性,所以它们无法同时存在。
  3. widthheight 无法同时设置。direction'l-r''r-l',请设置 width;为 't-b''b-t' 请设置 height

嵌套抽屉

DrawerDialog 一样支持嵌套,但也务必为子级 Drawer 添加 append-to-body 属性,以防止一些问题。

Dialog 重复的属性不再做重复展示。如:lock-scrollclick-mask-closez-indexmask 等。

阻止关闭

使用 before-close 属性,并绑定一个函数,则可阻止关闭。在关闭前会调用此函数,如果您不在此函数内手动关闭,则不会关闭。

TIP

before-close 绑定的函数会接收一个参数,此参数是一个关闭函数,通过调用此函数手动关闭。

WARNING

注意!虽然添加 before-close 之后会在关闭前阻止关闭,但如果是通过直接修改 v-model 绑定值关闭的话,则不受此属性影响。

APIs

属性

属性名说明类型默认值是必需项
v-modelDrawer 显示/隐藏值boolean——false
title标题string——false
width宽度string'30%'false
height高度string'30%'false
direction方位'l-r' | 'r-l' | 't-b' | 'b-t'false
z-index同原生 CSS z-indexnumber——false
show-close是否为显示关闭按钮booleantruefalse
append-to-body是否插入至 bodybooleanfalsefalse
mask是否需要遮罩层booleantruefalse
lock-scroll是否锁定滚动条booleantruefalse
click-mask-close是否可点击遮罩层关闭booleantruefalse
before-close关闭前回调,可以阻止关闭。通过调用 close 参数函数手动关闭。(close: () => void): voidfalsefalse

事件

事件名触发时机参数
openDialog 打开时触发(value: boolean): void
closeDialog 关闭时触发(value: boolean): void

插槽

插槽名说明
default定义默认内容
header定义头部区域,会替换 title 属性内容
footer定义底部区域

Powered by ❤️ L1en