加载el-dialog中的子组件

2023-11-10

在使用element-ui开发项目的过程中,使用el-dialog的时候很多,简单的使用想必都没有问题,但是涉及到复杂的应用时,就容易想错方向,从而走很多弯路了。

实际应用场景:

el-dialog作为通讯录功能弹出,默认不显示状态,只有点击相应功能键才显示。在el-dialog不显示的时候,其内部的组件是不被加载的,也就是说el-dialog中子组件的方法肯定也是不被加载的。

在这里插入图片描述
在这里插入图片描述

一开始错误的解决思路

默认显示el-dialog弹窗,手动控制遮罩层,大致思路

1.el-dialog设置一个变量控制显示,遮罩层设置一个全局变量控制显示,最外层嵌套一个div,设置一个全局变量控制显示。

2.el-dialog设置始终显示,通过div的显示与否来控制el-dialog是否显示,这里跟直接显示el-dialog是有区别的,设置el-dialog显示则默认可以加载dialog中的子组件和子组件中的方法,这样,即使弹窗不显示也能调用el-dialog中的方法,就解决了el-dialog不显示的时候其中的子组件不加载的问题了。

3.当需要呼叫员工时,点击呼叫按钮,需要多布操作,改变控制div显示的全局变量,改变控制遮罩层显示的全局变量,以及多做呼叫相关的操作,这样一来后期维护也很麻烦。

后来又考虑了遮罩层的应用 试了 modal-append-to-body和append-to-body等相关属性,也是无疾而终,终于在了解了nextTick运行原理之后,这些问题都迎刃而解。

其实问题的根本就不在于要在一开始要加载el-dialog中的子组件,而是要在实现呼叫功能的时候显示el-dialog并加载相应子组件的方法,这时候使用nextTick就得以完美解决。
在这里插入图片描述

点击呼叫按钮后,显示el-dialog弹窗,修改vuex中控制el-dialog可见性的全局变量,然后使用nextTick,在此次dom更新完成后再进行下面的操作。关于nextTick的原理,自己写了一篇详细的文章,传送门

// 呼叫
    handlePhoneStaff() {
      this.$store.dispatch('showVoiceDialog')
      this.$nextTick(() => {
        eventVue.$emit('updateChatList', this.staffInfo) // 更新聊天列表
        eventVue.$emit('phoneListToWindow', this.staffInfo) // 将数据传到聊天窗口
      })
    },
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加载el-dialog中的子组件 的相关文章

  • Apollo代码学习(二)—车辆运动学模型

    Apollo代码学习 车辆运动学模型 前言 车辆模型 单车模型 Bicycle Model 车辆运动学模型 阿克曼转向几何 Ackerman turning geometry 小结 Apollo 阿波罗 是一个开放的 完整的 安全的自动驾驶

随机推荐

  • Python 使用pyinstaller打包后,print打印颜色乱码

    问题描述 Python 使用pyinstaller打包后 print打印颜色乱码 如图 代码如下 直接运行是正常的 使用pyinstaller打包后运行乱码 class bcolors OKRED 033 1 31m END 033 0m
  • 单片机 LCD1602液晶显示

    proteus 8 kile5 代码 include
  • 微机系统与接口——2.汇编语言

    目录 1 汇编 2 寻址方式 3 指令系统 3 1 数据传输指令 3 2 算数运算指令 3 3 逻辑运算和移位指令 3 4 串操作指令 3 5 控制转移指令 3 6 处理器控制指令 4 伪操作指令 5 DOS系统功能调用 6 汇编语言源程序
  • [21]有道翻译的那些事~

    2017 年最新有道翻译API 解析教程 从上面接口 大概可以推测一下 i 需要翻译的内容 from to 这两个key 都为AUTO 大概猜测一下应该为自动翻译 自动检测语言并翻译 smartresult client doctype v
  • react学习笔记-从井字棋开始(1)

    教程地址 https react docschina org tutorial tutorial html 新建工程 1 确保你安装了较新版本的 Node js 2 按照 Create React App 安装指南创建一个新的项目 npx
  • Kaldi知识点汇集

    我的书 淘宝购买链接 当当购买链接 京东购买链接 特征提取 MFCC compute mfcc feats cc Create MFCC feature files Usage compute mfcc feats options
  • Javascript访问html页面的控件的方法详细分析

    访问控件的主要对象是 document对象 分别对应当前文档所有的 子对象 个人观点 并且已经提供的几个主要方法来访问对象 1 document getElementById 2 document getElementsByName 3 d
  • Python的环境安装搭建

    首先 在浏览器中输入Python网站的官方网址www python org进入官网 然后用鼠标触碰Downloads 可以看到如今最新的版本为Python3 10 3 点击图中python3 10 3进行下载 下载完成后就会进入如下界面 I
  • unet模型及代码解析

    什么是unet 一个U型网络结构 2015年在图像分割领域大放异彩 unet被大量应用在分割领域 它是在FCN的基础上构建 它的U型结构解决了FCN无法上下文的信息和位置信息的弊端 Unet网络结构 主干结构解析 左边为特征提取网络 编码器
  • 【已解决】Nacos 2.0.2启动异常以及正常启动后账号密码错误问题解决

    1 正常解压压缩文件后 在bin目录下直接双击startup cmd启动Nacos 或bin目录下命令行输入startup cmd 新版本需要输入startup cmd m standalone 发现启动报错 报错信息我们可以看到大量的sq
  • 3串锂电池充放电保护板设计参考

    3串锂电池充放电保护板设计参考 这里只提供原理图参考 链接 https pan baidu com s 1cSmTf8fifrEjxfrCrTV 3w 提取码 5i5i 不想自己做 可以去TB买 也不贵 也就10几块钱 自己做也可以参考其说
  • leetcode 给我上了深深的一课,被删掉所有题解后的我感动了

    常在河边走 哪有不湿鞋 我是小浩算法公众号的号主 昨天发生了一件非常悲催的事情 我在leetcode上的所有算法题解 五六十篇肯定是有的 都被删除了 可惜之前我没有截图 现在进到页面里是这个样子 所有的题解都被后台删除 同时号也被封了 没办
  • geojson 格式说明(格式详解)

    1 简介 GeoJSON是一种对地理数据结构进行编码的格式 GeoJSON对象可以表示几何信息 要素或者要素集合 GeoJSON支持下面几何类型 Point LineString Polygon MultiPoint MultiLineSt
  • VCS+Verdi 安装及破解过程(Ubuntu)【1】

    转载自 https blog csdn net qq 40829605 article details 85345795 由于系统不一样 中途改了一些东西 不过终于装成功了 分享一下 简述 这篇文章讲述了在Ubuntu 64bit系统上VC
  • 华为OD机试 - 数据最节约的备份方法(Java)

    题目描述 有若干个文件 使用刻录光盘的方式进行备份 假设每张光盘的容量是500MB 求使用光盘最少的文件分布方式 所有文件的大小都是整数的MB 且不超过500MB 文件不能分割 分卷打包 输入描述 一组文件大小的数据 输出描述 使用光盘的数
  • pychrm设置全局代理

    以设置proxy ip 为示例 os environ ALL PROXY http 127 0 0 1 10809
  • 通过js动态改变字体大小(通过相对单位rem可以做到只修改根元素字体大小就成比例地调整页面所有字体大小)

    function setRem var ui w 375 var client w document documentElement clientWidth document body clientWidth var html docume
  • 数据库系统概论——第四章 数据库安全性

    数据库系统概论 第四章 数据库安全性 数据库安全性 保护数据库以防止不合法使用所造成的数据泄露 更改或破坏 系统安全保护措施是否有效是数据库系统主要的性能指标之一 一 数据库安全安全性概论 1 数据库的不安全因素 1 非授权用户对数据库的恶
  • Python基础语法 and 题库

    文章目录 Python基础语法 python程序设计内容指导 chapter2 Python运算符 内置函数 序列数基本用法 chapter3 使用蒙特 卡罗方法计算圆周率的近似值 chapter4 使用列表实现筛选法求素数 chapter
  • 加载el-dialog中的子组件

    在使用element ui开发项目的过程中 使用el dialog的时候很多 简单的使用想必都没有问题 但是涉及到复杂的应用时 就容易想错方向 从而走很多弯路了 实际应用场景 el dialog作为通讯录功能弹出 默认不显示状态 只有点击相