【区分vue2和vue3下的element UI Dialog 对话框组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 和 Vue 3 中,Element UI(针对 Vue 2)和 Element Plus(针对 Vue 3)提供了 Dialog 对话框组件,用于在页面中显示模态对话框。这两个库中的 Dialog 组件在属性、事件和方法的使用上有所相似,但也存在一些差异。下面我将分别介绍 Vue 2 下的 Element UI Dialog 组件和 Vue 3 下的 Element Plus Dialog 组件的使用方式。

Vue 2 + Element UI Dialog 组件

属性(Props)
  • visible.syncv-model:控制对话框是否显示,使用 .sync 修饰符或 v-model 双向绑定。
  • title:对话框标题。
  • width:对话框的宽度。
  • fullscreen:是否为全屏对话框。
  • top:对话框距离顶部的距离。
  • modal:是否需要遮罩层。
  • modal-append-to-body:遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上。
  • lock-scroll:是否在 Dialog 出现时将 body 滚动锁定。
  • custom-class:Dialog 的自定义类名。
  • close-on-click-modal:是否可以通过点击遮罩层关闭 Dialog。
  • close-on-press-escape:是否可以通过按下 ESC 关闭 Dialog。
  • show-close:是否显示关闭按钮。
  • before-close:关闭前的回调,会暂停 Dialog 的关闭。
事件(Events)
  • open:Dialog 打开的回调。
  • opened:Dialog 打开动画结束时的回调。
  • close:Dialog 关闭的回调。
  • closed:Dialog 关闭动画结束时的回调。
方法(Methods)

Element UI 的 Dialog 组件通常不直接暴露方法供外部调用。你主要通过修改绑定的 visible 属性或监听事件来控制对话框的显示和隐藏。

示例
vue 复制代码
<template>
  <el-button type="primary" @click="dialogVisible = true">点击打开对话框</el-button>
  <el-dialog
    title="提示"
    :visible.sync="dialogVisible"
    width="30%"
    :before-close="handleClose">
    <span>这是一段信息</span>
    <span slot="footer" class="dialog-footer">
      <el-button @click="dialogVisible = false">取 消</el-button>
      <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
    </span>
  </el-dialog>
</template>

<script>
export default {
  data() {
    return {
      dialogVisible: false,
    };
  },
  methods: {
    handleClose(done) {
      this.$confirm('确认关闭?')
        .then(_ => {
          done();
        })
        .catch(_ => {});
    },
  },
};
</script>

Vue 3 + Element Plus Dialog 组件

属性(Props)
  • modelValuev-model:控制对话框是否显示,使用 v-model 双向绑定。
  • title:对话框标题。
  • width:对话框的宽度。
  • fullscreen:是否为全屏对话框。
  • top:对话框距离顶部的距离。
  • modal:是否需要遮罩层。
  • modal-class:遮罩层的自定义类名。
  • append-to-body:遮罩层是否插入至 body 元素上。
  • lock-scroll:是否在 Dialog 出现时将 body 滚动锁定。
  • custom-class:Dialog 的自定义类名。
  • show-close:是否显示关闭按钮。
  • close-on-click-modal:是否可以通过点击遮罩层关闭 Dialog。
  • close-on-press-escape:是否可以通过按下 ESC 关闭 Dialog。
  • before-close:关闭前的回调,会暂停 Dialog 的关闭。
事件(Events)
  • open:Dialog 打开的回调。
  • opened:Dialog 打开动画结束时的回调。
  • close:Dialog 关闭的回调。
  • closed:Dialog 关闭动画结束时的回调。
方法(Methods)

与 Element UI 类似,Element Plus 的 Dialog 组件通常也不直接暴露方法供外部调用。你主要通过修改绑定的 modelValue 属性或监听事件来控制对话框的

相关推荐
哈__9 分钟前
ReactNative项目OpenHarmony三方库集成实战:react-native-fingerprint-scanner
javascript·react native·react.js
晴栀ay13 分钟前
Generator + RxJS 重构 LLM 流式输出的“丝滑”架构
javascript·后端·llm
我是伪码农1 小时前
14届蓝桥杯
javascript·css·css3
装不满的克莱因瓶1 小时前
React Native vs Flutter:一次深入到底的性能对比分析(含原理 + 实战)
javascript·flutter·react native·react.js·app·移动端
gCode Teacher 格码致知2 小时前
Javascript及Python提高:将对象的键值对转换为数组元素的方式以及两种语言的对比-由Deepseek产生
javascript·python
Hello.Reader2 小时前
Spark Connect 快速入门远程连接 Spark 集群实战
javascript·ajax·spark
kyriewen112 小时前
为什么我的代码在测试环境跑得好好的,一到用户电脑就崩?原来凶手躲在地址栏旁边
开发语言·前端·javascript·chrome·ecmascript·html5
小北方城市网3 小时前
JavaScript 实战 —— 实现一个简易的 TodoList(适合前端入门 / 进阶)
开发语言·前端·javascript
清汤饺子3 小时前
Superpowers:给 AI 编程 Agent 装上"工程化超能力"
前端·javascript·后端
踩着两条虫3 小时前
AI驱动的Vue3应用开发平台 深入探究(十三):物料系统之区块与页面模板
前端·vue.js·人工智能·架构·系统架构