Dialog 对话框
在保留当前页面状态的情况下,告知用户并承载相关操作。
基础用法
Dialog 弹出一个对话框,适合需要定制性更大的场景。
TIP
before-close
只会在用户点击关闭按钮或者对话框的遮罩区域时被调用。 如果你在 footer
具名 slot 里添加了用于关闭 Dialog 的按钮,那么可以在按钮的点击回调函数里加入 before-close
的相关逻辑。
自定义内容
对话框的内容可以是任何东西,甚至是一个表格或表单。 此示例显示如何在 Dialog 中使用 Element Plus 的表格和表单。
自定义头部
header
可用于自定义显示标题的区域。 为了保持可用性,除了使用此插槽外,使用 title
属性,或使用 titleId
插槽属性来指定哪些元素应该读取为对话框标题。
嵌套的对话框
如果需要在一个 Dialog 内部嵌套另一个 Dialog,需要使用 append-to-body
属性。
内容居中
对话框的内容可以居中。
TIP
Dialog 的内容是懒渲染的——在被第一次打开之前,传入的默认 slot 不会被立即渲染到 DOM 上。 因此,如果需要执行 DOM 操作,或通过 ref
获取相应组件,请在 open
事件回调中进行。
居中对话框
从屏幕中心打开对话框。
关闭时销毁
启用此功能时,默认栏位下的内容将使用 v-if
指令销毁。 当出现性能问题时,可以启用此功能。
可拖拽对话框
试着拖动一下header
部分吧
API
属性名 | 说明 | 类型 | 默认 |
---|---|---|---|
model-value / v-model | 是否显示 Dialog | boolean | — |
title | Dialog 对话框 Dialog 的标题, 也可通过具名 slot (见下表)传入 | string | '' |
width | 对话框的宽度,默认值为 50% | string / number | '' |
fullscreen | 是否为全屏 Dialog | boolean | false |
lock-scroll | 是否在 Dialog 出现时将 body 滚动锁定 | boolean | true |
z-index | 和原生的 CSS 的 z-index 相同,改变 z 轴的顺序 | number | — |
Slots
插槽名 | 说明 |
---|---|
default | Dialog 的内容 |
Events
事件名 | 说明 | Type |
---|---|---|
open | Dialog 打开的回调 | Function () => void |
close | Dialog 关闭的回调 | Function () => void |