vue3.0 + element Plus实现页面中引入弹窗组件及defineExpose用法

2023-11-17

1. 在需要弹窗显示的页面引入你所写的弹窗组件(index.html) 

<template>
<!--按钮用来触发弹窗-->
 <el-button
     type="primary"
     plain
     @click="onProcess()"
     :icon="View"
  >更新进度</el-button>
  <teleport to="body">
    <!-- 弹窗组件,ref一定要写 -->
    <sync-process-dialog
      :data="syncProcess"
      ref="processDailogRef"  
    ></sync-process-dialog>
  </teleport>
</template>

2. 在js文件中设置ref的值及通过按钮触发打开弹窗

<script lang="ts" setup>
import { ref } from "vue";
import { View } from "@element-plus/icons";

const processDailogRef = ref();

//查看一键更新进度
//onChangeVisable()为子组件中通过defineExpose暴露出来的
const onProcess = () => {
  processDailogRef.value.onChangeVisable();
};

</script>

3. 在子组件中接受父组件传值,并显示弹窗(父组件通过模板 ref 的方式获取到当前组件的实例,SyncProcessDialog.vue)

<!--当前文件为子组件即父组件引入的,SyncProcessDialog.vue-->
<template>
  <el-dialog
    v-model="dialogFormVisible"
    :close-on-click-modal="false"
    title="更新进度"
    width="850px"
  >
   <div>弹窗内容</div>
  </el-dialog>
</template>
<script lang="ts" setup>
import { ref } from "vue";

//这里是接受父组件传递的值
const props = withDefaults(
  defineProps<{
    data: object;
  }>(),
  {}
);

const dialogFormVisible = ref(false);
const onChangeVisable = () => {
  dialogFormVisible.value = true;
};

defineExpose({ onChangeVisable });
</script>

效果展示:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3.0 + element Plus实现页面中引入弹窗组件及defineExpose用法 的相关文章

随机推荐

  • 注解的增删改查

    package com kuang dao import com kuang pojo User import org apache ibatis annotations import org junit Test import java
  • JDK下载安装及环境变量配置的图文教程(详解)

    学习Java 需要下载并安装JDK Java Development Kit Java开发工具包 而为了能够快捷打开java程序 就需要按照操作系统的要求进行环境变量的配置 一 下载并安装JDK 一 下载JDK 搜索 jdk官方下载 或是直
  • OpenCV学习笔记:cornerSubPix与find4QuadCornerSubpix函数的区别

    一 cornerSubPix 函数 调用格式 void cv cornerSubPix InputArray image InputOutputArray corners Size winSize Size zeroZone TermCri
  • 网络抓包工具 wireshark 入门教程

    Wireshark 前称Ethereal 是一个网络数据包分析软件 网络数据包分析软件的功能是截取网络数据包 并尽可能显示出最为详细的网络数据包数据 Wireshark使用WinPCAP作为接口 直接与网卡进行数据报文交换 网络管理员使用W
  • PyTorch 新库 TorchMultimodal 使用说明:将多模态通用模型 FLAVA 扩展到 100 亿参数

    先前的文章中 我们介绍了 TorchMultimodal 今天我们将从一个具体案例出发 演示如何在 Torch Distributed 技术加持下 在 TorchMultimodal 库中扩展多模态基础模型 近年来 大模型已成为一个备受关注
  • RabbitMQ第一个实操小案例

    文章目录 二 RabbitMQ实操小案例 2 1 Hello World 2 2 Spring AMQP 二 RabbitMQ实操小案例 进入RabbitMQ的官网 选择 Document 菜单项 然后点击Tutorials下的 Get S
  • 使用idea将一个web项目部署到tomcat上

    使用idea将一个web项目部署到tomcat上 点击Run Edit Configurations 单击 找到tomcat server local 选定tomcat版本 点击Fix 单击Apply OK 最终成果
  • centos linux 安装RDMA Soft-RoCE

    RoCE既可以通过硬件实现 也可以通过软件实现 Soft RoCE 是 RDMA 传输的软件实现 什么是Soft RoCE softRoCE的目标是在所有支持以太网的设备上都可以部署RDMA传输 可以使不具备RoCE能力的硬件和支持RoCE
  • vim 编辑器 bash文件测试

    1 编辑 x 删除光标所在处字符 x 删除光标所在处开始往后的 个字符 d 删除命令 dd 删除光标所在处一整行 d 删除光标所在处往后的 行 2 末行模式 start end eg 3 4 10 9 表示光标所在行 最后一行 2 当前到倒
  • Win10下安装Tensorflow

    建议安装AnacondaWindows下 只有python3能安装Tensorflow 1 打开命令行窗口 创建conda环境 conda create n tensorflow python 3 x 对应着自己的python版本 必须要3
  • 【前端】求职必备知识点2-CSS:优先级、盒子模型、标准流、浮动流、定位流

    文章目录 CSS优先级 盒子模型 标准流 浮动流 定位流 标准流 浮动流 定位流 思维导图 CSS优先级 class类选择器 属性选择器 伪类 的权值为10 元素选择器 伪元素选择器权值为1 属性选择器 如 将有title的元素变为红色 t
  • Obsidian Tasks插件介绍

    背景 按照之前对 DataView 插件的介绍 对于任务列表的使用其实就可以使用其中的 list 插件完成的 但是 DataView 插件只能完成列表的查询功能 而查询功能只能是任务列表中其中一个功能 因此就使用 DataVIew 插件是不
  • java集合List

    Java集合概况 Java集合一直理解的都是片面的 整理一下 将知识组织成面 更便于理解 上图来自Java 集合系列01之 总体框架 如果天空不死 博客园 虽然博主是基于java1 6整理的 但也不碍于我们学习 理解了上图 对于学习java
  • 排序遍历带前缀的文件名

    排序遍历带前缀的文件名 def getTimeId file fileAttrs file split fileTime fileAttrs 0 return fileTime def CleanUpExpireTar backupDir
  • 树莓派4B安装Batocera V35版本 前言

    前言 说说为什么要写这个 原因比较多 我在大学的时候买了树莓派4B 那时正价购买 刷了个OpenWrt系统在宿舍当软路由再跑 毕业之后买了个X86主机当软路由 树莓派就放着吃灰了 大学时期同样买了个北通的游戏手柄 当初为了玩崩坏3购入的 后
  • DDR2 DDR3的区别

    DDR2 DDR3的区别 功耗进一步减少 DDR2内存的默认电压为1 8V 而DDR3内存的默认电压只有1 5V 因此内存的功耗更小 发热量也相应地会减少 值得一提的是 DDR3内存还新增了温度监控 采用了ASR Automatic sel
  • Unity5.x运行场景直接卡死的问题

    今天遇到一个很奇葩的问题 就是电脑中Unity5 x版本的都不能运行场景了 包括新建空的工程也不行 重装unity软件重装VS环境也不行 神奇的是2017 2018 2019版本的都没有问题 并且界面也没有任何报错 爬各种论坛谷歌都没有找到
  • 山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将...

    我是第一次 请你 请你温柔一点 少女一边娇喘着 一边将稚嫩的红唇紧贴在男子耳边 樱桃小嘴盈溢出如兰香气 这样子 人家骑在上面 她紧紧地依偎在某个男子身上 窈窕的身躯与丰盈的酥胸 伴随着男子身体晃动而滑上滑下 起伏不定 啊 不要晃的那样厉害
  • ios appStore上架审核通过后,appStore搜索不到该应用

    问题描述 前两天上架一款ios App 周一到公司看审核已经通过了 去appStore上搜索一直搜索不到 ios appStore connect点击提示该商品在中国大陆没有上架 解决方法 通过app store connect 最下面的联
  • vue3.0 + element Plus实现页面中引入弹窗组件及defineExpose用法

    1 在需要弹窗显示的页面引入你所写的弹窗组件 index html