抽屉

有时,Dialog并不总是满足我们的要求,假设您有一个巨大的表单,或者您需要空间来显示类似terms & conditions的东西,DrawerDialog具有几乎相同的API,但它引入了不同的用户体验。

TIP

由于所有组件原生支持 v-model,因此 visible.sync 已被弃用,请使用 v-model="visibilityBinding" 来控制当前抽屉的可见性。

基本用法

从多个方向标注临时抽屉

您必须像 Dialog 一样为 Drawer 设置 model-value 来控制 Drawer 本身的可见性,它是 boolean 类型。 Drawer共有三部分:title & body & footer,其中title是一个命名槽,也可以通过名为title的属性设置标题,默认为空字符串, body部分是Drawer的主要区域,包含用户定义的内容。打开时,Drawer右角向左展开,默认大小为浏览器窗口的30%。您可以通过设置 directionsize 属性来更改该默认行为。该展示案例还演示了如何使用 before-close API,请查看属性部分以了解更多详细信息

无标题

当您不再需要标题时,可以将其从抽屉中删除。

withHeader 属性设置为 false,您可以从抽屉中删除标题,这样您的抽屉可以在屏幕上拥有更多空间。如果您希望可访问,请确保设置 title 属性。

定制内容

Dialog 一样,Drawer 可用于显示多种不同的交互。

自定义标题

header 插槽可用于自定义显示标题的区域。为了保持可访问性,除了使用此槽之外,还可以使用 title 属性,或者使用 titleId 槽属性来指定应将哪个元素读出为抽屉标题。

可调整大小的抽屉 2.11.0

尝试拖动边缘部分。

resizable 设置为 true 以调整大小。

嵌套抽屉

您也可以拥有多层 Drawer,就像 Dialog 一样。

如果您需要在不同层中使用多个Drawer,则必须将append-to-body属性设置为true

模态

modal 设置为 false 将隐藏抽屉的模态(覆盖)。

从版本2.11.7开始,增加modal-penetrable属性,可穿透。

TIP

Drawer 内的内容应该是延迟渲染的,这意味着 Drawer 内的内容不会影响初始渲染性能,因此任何 DOM 操作都应通过 ref 或在 open 事件发出后执行。

TIP

Drawer提供了一个名为destroy-on-close的API,它是一个标志变量,指示在Drawer关闭后应该销毁Drawer内的子内容。当您需要每次打开抽屉时调用 mounted 生命周期时,可以使用此 API。

API

属性

名称描述类型默认
模型值 / v 模型是否应该显示抽屉布尔值
附加到正文控件应将 Drawer 插入到 DocumentBody 元素,嵌套的 Drawer 必须将此参数指定为 true布尔值
追加到 2.8.0Drawer 附加到哪个元素。将覆盖 append-to-bodyCSS选择器 / HTMLElement身体
锁定滚动Drawer显示时是否禁用body滚动布尔值真实
收盘前如果设置,关闭程序将停止功能
点击关闭模式是否可以通过点击蒙版来关闭抽屉布尔值真实
关闭新闻转义指示是否可以通过按 ESC关闭抽屉布尔值真实
打开延迟打开前的时间(毫秒)数字0
关闭延迟关闭前的时间(毫秒)数字0
关闭时销毁指示抽屉关闭后是否应销毁子项布尔值
莫代尔应该显示阴影层布尔值真实
模态可穿透 2.11.7面罩是否具有穿透性。模态属性必须是 false布尔值
方向抽屉开启方向枚举左转
可调整大小 2.11.0为抽屉启用可调整大小的功能布尔值
显示关闭应在抽屉右上角显示关闭按钮布尔值真实
尺寸Drawer的尺寸,如果Drawer为水平模式,则影响宽度属性,否则影响高度属性,当size为number类型时,以像素为单位描述尺寸;当size为string类型时,应使用x%表示法,否则将被解释为像素单位数字 / 字符串30%
标题抽屉的标题,也可以通过命名槽位来设置,详细说明可以参见槽位表字符串
带有标题控制 header 部分存在的标志,默认为 true,当 withHeader 设置为 false 时,title attributetitle slot 都不起作用布尔值真实
模态类阴影层的额外类名字符串
标头类 2.9.3标头包装器的自定义类名字符串
身体等级 2.9.3正文包装的自定义类名字符串
页脚类 2.9.3页脚包装的自定义类名字符串
z 索引设置 z 索引数字
标头 aria 级别 a11y标头的 aria-level 属性字符串2
自定义类 ^(已弃用)抽屉的额外类名称字符串

WARNING

custom-class弃用,并且2.3.0 中删除,请使用 class

活动

名称描述类型
打开在抽屉打开动画开始之前触发功能
打开抽屉打开动画结束后触发功能
关闭在抽屉关闭动画开始之前触发功能
关闭抽屉关闭动画结束后触发功能
打开自动对焦抽屉打开且内容聚焦后触发功能
近距离自动对焦抽屉关闭且内容聚焦后触发功能
调整大小开始 2.11.8开始调整大小时触发(启用 resizable 时)功能
调整大小 2.11.8调整大小时触发(启用 resizable 时)功能
调整大小结束 2.11.8调整大小结束时触发(启用 resizable 时)功能

老虎机

名称描述
默认抽屉里的内容
标题抽屉头部分;替换它会删除标题,但不会删除关闭按钮。
页脚抽屉页脚部分
标题 ^(已弃用)与标头插槽的工作原理相同。用它来代替。

WARNING

title弃用,并且3.0.0 中删除,请使用 header

暴露

名称描述
处理关闭为了关闭Drawer,该方法将调用before-close