当前位置: 首页 > news >正文

VUE宝典之el-dialog使用

文章目录

    • 🍁前言
    • 🍁el-dialog简介
    • 🍁el-dialog属性
    • 🍁el-dialog示例
    • 🍁父子组件值传递示例

🍁前言

el-dialog是Element UI库中的一个重要组件,用于在Vue应用程序中创建弹出框。它提供了一组实用的属性和事件,让我们能够轻松地实现各种弹出框功能。本文将详细介绍el-dialog组件的使用方法和示例,帮助您更好地理解如何在实际项目中使用它。

🍁el-dialog简介

el-dialog是一个非常灵活的弹出框组件,它可以通过简单的配置来实现各种样式的弹出框。el-dialog组件基于Element UI库,因此在使用之前需要确保已经正确引入了Element UI库。

🍁el-dialog属性

el-dialog提供了许多属性,用于控制弹出框的外观和行为。以下是一些常用的属性:

  • 📒visible:控制弹出框是否可见。
  • 📒title:弹出框的标题。
  • 📒width:弹出框的宽度。
  • 📒fullscreen:是否全屏显示。
  • 📒append-to-body:将弹窗附加到body上。
  • 📒close-on-click-modal:点击蒙层是否关闭弹窗。
  • 📒close-on-press-escape:按下Esc键是否关闭弹窗。
  • 📒show-close:是否显示关闭按钮。
  • 📒draggable:是否可拖动。
  • 📒resizable:是否可调整大小。
    除了以上属性外,el-dialog还支持一些自定义事件,例如:@open、@close等。这些事件可以在组件实例中通过 $emit 方法来触发。

🍁el-dialog示例

下面是一个简单的el-dialog示例,展示了如何使用属性和事件来控制弹出框的行为和样式:

在模板中添加el-dialog组件:
html

<template>  <div>  <el-button @click="dialogVisible = true">打开弹出框</el-button>  <el-dialog :visible.sync="dialogVisible" title="提示" width="30%" @close="dialogVisible = false">  <p>这是一段信息</p>  <div slot="footer" class="dialog-footer">  <el-button @click="dialogVisible = false">取 消</el-button>  <el-button type="primary" @click="dialogVisible = false">确 定</el-button>  </div>  </el-dialog>  </div>  
</template>

在脚本中定义数据和方法:

export default {  data() {  return {  dialogVisible: false,  };  },  
};

在这个示例中,我们通过点击按钮来控制dialogVisible的值,从而打开或关闭弹出框。visible.sync属性用于双向绑定弹出框的可见性。title属性用于设置弹出框的标题。width属性用于设置弹出框的宽度。@close事件用于监听弹出框关闭事件,并在关闭时设置dialogVisible为false。在弹出框的内容部分,我们通过p标签来添加文本。在底部工具栏中,我们通过slot="footer"来定义底部按钮的位置,并通过el-button来添加取消和确定按钮。注意,为了能够正确显示底部工具栏,我们需要在弹出的内容后面添加一个div元素作为底部工具栏的容器,并使用slot="footer"来指定插槽名称。同时,我们还可以根据需要添加其他属性和事件来控制弹出框的行为和样式。例如,我们可以设置fullscreen属性为true来全屏显示弹出框,或者设置draggable属性为true来使弹出框可拖动。同时,我们还可以通过触发自定义事件来实现一些特定的功能,例如在弹出框打开时触发@open事件来执行一些操作。总之,el-dialog组件提供了丰富的属性和事件,让我们可以灵活地实现各种样式的弹出框功能。在实际项目中,我们可以根据具体需求进行配置和使用。

🍁父子组件值传递示例

当el-dialog组件声明在子组件中时,父组件和子组件可以通过props和事件进行相互传递参数。以下是一个代码示例:

  • 父组件(ParentComponent.vue):

html

<template>  <div>  <child-component ref="childDialog" :initial-message="parentMessage" @child-event="handleChildEvent"></child-component>  <el-button @click="openChildDialog">打开子组件的弹出框</el-button>  </div>  
</template>  <script>  
import ChildComponent from './ChildComponent.vue';  export default {  components: {  ChildComponent  },  data() {  return {  parentMessage: 'Hello from parent'  };  },  methods: {  openChildDialog() {  // 通过 $refs 访问子组件实例,并调用 openDialog 方法打开弹出框  this.$refs.childDialog.openDialog();  },  handleChildEvent(childMessage) {  // 处理子组件传递的事件和参数  console.log('Received message from child:', childMessage);  // 可以在这里执行其他逻辑或更新父组件的数据  }  }  
};  
</script>
  • 子组件(ChildComponent.vue):

html

<template>  <div>  <el-dialog :visible.sync="dialogVisible" title="子组件的弹出框">  <p>{{ message }}</p>  </el-dialog>  </div>  
</template>  <script>  
export default {  props: {  initialMessage: {  type: String,  default: ''  }  },  data() {  return {  dialogVisible: false, // 控制弹出框的显示与隐藏  message: this.initialMessage // 初始化时接收父组件传递的参数  };  },  methods: {  openDialog() {  // 打开弹出框,并触发父组件的事件传递参数  this.dialogVisible = true;  this.$emit('child-event', 'Hello from child');  },  closeDialog() {  // 关闭弹出框  this.dialogVisible = false;  }  },  watch: {  initialMessage(newValue) {  // 监听父组件传递的参数变化,并更新子组件的数据  this.message = newValue;  }  }  
};  
</script>

在父组件中,我们使用了ref属性给子组件指定了一个引用名称childDialog,并通过:initial-message="parentMessage"将父组件的数据parentMessage传递给子组件。同时,在父组件的模板中添加了一个按钮,当点击该按钮时,会触发openChildDialog方法,通过$ refs访问子组件实例,并调用子组件的openDialog方法打开弹出框。在父组件的方法handleChildEvent中,我们处理子组件传递的事件和参数,并可以在这里执行其他逻辑或更新父组件的数据。在子组件中,我们定义了一个props属性initialMessage来接收父组件传递的参数,并在初始化时将参数赋值给子组件的message数据属性。子组件的openDialog方法中,我们打开弹出框,并通过$emit触发一个自定义事件child-event,将参数’Hello from child’传递给父组件。同时,我们使用:visible.sync="dialogVisible"来绑定弹出框的显示状态。这样,当dialogVisible的值变化时,弹出框的显示状态也会相应地改变。


🏫博客主页:魔王-T

🥝大鹏一日同风起 扶摇直上九万里

❤️感谢大家点赞👍收藏⭐评论✍️

相关文章:

VUE宝典之el-dialog使用

文章目录 &#x1f341;前言&#x1f341;el-dialog简介&#x1f341;el-dialog属性&#x1f341;el-dialog示例&#x1f341;父子组件值传递示例 &#x1f341;前言 el-dialog是Element UI库中的一个重要组件&#xff0c;用于在Vue应用程序中创建弹出框。它提供了一组实用的属…...

Cocos Creator:坐标系

Cocos Creator&#xff1a;坐标系 坐标系节点位置坐标转换v3.8 实现原理&#xff08;不想了解可以直接跳过&#xff09;简单示例&#xff1a;&#xff08;干货or解决方案在这里&#xff01;&#xff09; 锚点缩放和旋转 总结心得 在 Cocos Creator 3.8 中&#xff0c;节点坐标系…...

logback日志框架使用

依赖引入 <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.7</version> </dependency> 使用logback日志框架只需要引入以上即可&#xff0c;(我们平时使用较多的Slf4j…...

【八】python装饰器模式

文章目录 8.1 装饰器模式简介8.2 装饰器模式作用8.3 装饰器模式构成8.3.1 装饰器模式包含以下几个核心角色&#xff1a;8.3.2 UML类图 8.4 装饰器模式python代码实现8.4.1 基本装饰器的使用8.4.2 多个装饰器的执行顺序8.4.3 带返回值的装饰器的使用8.4.4 装饰器模式-关联类模式…...

Unity-小工具-LookAt

Unity-小工具-LookAt &#x1f959;介绍 &#x1f959;介绍 &#x1f4a1;通过扩展方法调用 gameObject.LookAtTarget&#xff0c;让物体转向目标位置 &#x1f4a1;gameObject.StopLookat 停止更新 &#x1f4a1;可以在调用时传入自动停止标记&#xff0c;等转向目标位置后自…...

TCP实现一对一聊天

一&#xff0c;创建类 二&#xff0c;类 1.ChatSocketServer类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Sca…...

全面高压化与全面超快充,破解新能源汽车的时代难题

是什么让新能源车主感到疲惫与焦虑&#xff1f;是什么阻挡更多消费者选择新能源汽车&#xff1f;我们在身边进行一个简单的调查就会发现&#xff0c;问题的答案非常一致&#xff1a;充电。 充电难&#xff0c;充电慢的难题&#xff0c;始终是困扰新能源汽车产业发展&#xff0c…...

02 CSS基础入门

文章目录 一、CSS介绍1. 简介2. 相关网站3. HTML引入方式 二、选择器1. 标签选择器2. 类选择器3. ID选择器4. 群组选择器 四、样式1. 字体样式2. 文本样式3. 边框样式4. 表格样式 五、模型和布局1. 盒子模型2. 网页布局 一、CSS介绍 1. 简介 CSS主要用于控制网页的外观&#…...

MyBatis框架中的5种设计模式总结

前言 MyBatis框架中使用的5种设计模式分别是&#xff1a;1、建造者模式&#xff08;生成器模式&#xff09;。2、工厂模式。3、单例模式。4、代理模式。5、适配器模式。 1、建造者模式&#xff08;生成器模式&#xff09; 在MyBatis环境的初始化过程中&#xff0c;SqlSessio…...

ffmpeg相关命令

视频转码 dav转化为mp4格式 ffmpeg -i 2021-08-10.dav -codec copy 11.mp4二进制文件转为mp4格式 // -c:v 指定视频流编码器&#xff0c;不指定编码会默认用mp4这种容器的默认音视频编码进入编码 // copy&#xff1a;不重新编码直接copy源视频流ffmpeg -i 1701687125-4fc72a…...

锂电3V升12V1A升压芯片WT3209

锂电3V升12V1A升压芯片WT3209 WT3209是一款高功率密度全集成BOOST升压转换器&#xff0c;具备高效能解决方案。3V升12V1A,5V升12V1A WT3209内部集成的功率MOSFET管导通电阻为上管13mΩ和下管11mΩ&#xff0c;具备2A开关电流能力&#xff0c;并且能够提供高达12.6V的输出电压。…...

Unity 置顶OpenFileDialog文件选择框

置顶文件选择框 &#x1f32d;处理前&#x1f959;处理后 &#x1f32d;处理前 &#x1f959;处理后 解决方案...

oomall课堂笔记

一、项目分层结构介绍 controller层&#xff08;控制器层&#xff09;&#xff1a; 作用&#xff1a;负责输出和输入&#xff0c;接收前端数据&#xff0c;把结果返回给前端。 1.处理用户请求&#xff0c;接收用户参数 2.调用service层处理业务&#xff0c;返回响应 servi…...

Qt6.5类库实例大全:QFrame

哈喽大家好&#xff0c;我是20YC小二&#xff01;欢迎扫码关注公众号&#xff0c;现在可免费领取《C程序员》在线视频教程哦&#xff01; ~下面开始今天的分享内容~ 1. QFrame介绍 QFrame是Qt框架中的一个框架控件类&#xff0c;主要用于在图形用户界面(GUI)中创建框架&#…...

Java 数据结构篇-用数组、堆实现优先级队列

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 优先级队列说明 2.0 用数组实现优先级队列 3.0 无序数组实现优先级队列 3.1 无序数组实现优先级队列 - 入队列 offer(E value) 3.2 无序数组实现优先级队列 - 出…...

Reactor模型

目录 1.Reactor模型是什么2.Reactor 模型应用场景3.使用 Reactor 模型的软件4.Reactor 模型 与 Actor 模型 的关系 本文主要介绍Reactor模型基本概念以及应用场景。 1.Reactor模型是什么 Reactor模型是一种事件驱动的设计模式&#xff0c;用于处理服务请求&#xff0c;它是由…...

【SpringCloud】通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题

文章目录 前言1.第一次尝试1.1服务被调用方更新1.2压测第一次尝试1.3 问题分析1.4 同步的不是最新列表 2.第二次尝试2.1调用方过滤下线服务2.2压测第二次尝试2.3优化 写到最后 前言 在上文的基础上&#xff0c;通过压测的结果可以看出&#xff0c;使用DiscoveryManager下线服务…...

如何做好性能压测?压测环境设计和搭建的7个步骤你知道吗?

简介&#xff1a;一般来说&#xff0c;保证执行性能压测的环境和生产环境高度一致是执行一次有效性能压测的首要原则。有时候&#xff0c;即便是压测环境和生产环境有很细微的差别&#xff0c;都有可能导致整个压测活动评测出来的结果不准确。 1. 性能环境要考虑的要素 1.1 系…...

Qt12.13

...

目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】SLAM(基础篇)(五)

目录 前言 几个相关概念 双目视惯雷达SLAM 相关工作 系统综述 视觉前端...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...