elementui modal
ElementUI Modal 使用指南
ElementUI 的 Modal 组件(对话框)用于在页面中弹出浮层,承载用户操作或信息展示。以下为常见用法和配置说明。
基础用法
通过 visible.sync 控制弹窗显示/隐藏,默认提供标题和底部按钮栏。

<el-button @click="visible = true">打开弹窗</el-button>
<el-dialog :visible.sync="visible" title="提示">
<span>这是一段内容</span>
</el-dialog>
<script>
export default {
data() {
return { visible: false }
}
}
</script>
自定义内容
通过插槽自由组合内容,如添加表单、表格等。
<el-dialog :visible.sync="visible">
<template #title>
<h3>自定义标题</h3>
</template>
<el-form>
<el-form-item label="用户名">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="submit">确认</el-button>
</template>
</el-dialog>
属性配置
常用属性控制弹窗行为:

width:设置宽度(默认50%)close-on-click-modal:点击遮罩层是否关闭(默认true)show-close:是否显示关闭按钮(默认true)fullscreen:全屏显示(默认false)
<el-dialog
:visible.sync="visible"
width="30%"
:close-on-click-modal="false">
</el-dialog>
事件监听
常用事件包括:
open:弹窗打开时触发closed:弹窗关闭动画结束时触发close:点击关闭按钮或遮罩层时触发
<el-dialog
:visible.sync="visible"
@open="handleOpen"
@close="handleClose">
</el-dialog>
嵌套使用
支持多层弹窗嵌套,需注意 append-to-body 属性避免样式问题。
<el-dialog :visible.sync="outerVisible">
<el-button @click="innerVisible = true">打开内层弹窗</el-button>
<el-dialog
:visible.sync="innerVisible"
append-to-body
width="30%">
</el-dialog>
</el-dialog>
注意事项
- 若弹窗内容动态加载,建议使用
v-if替代v-show优化性能。 - 表单验证需在关闭弹窗时手动重置验证状态。
- 移动端适配可通过 CSS 媒体查询调整宽度。
通过合理配置属性和插槽,ElementUI Modal 能满足大多数业务场景的弹窗需求。






