vue3实现在element Dialog 对话框中预览pdf文件

news2024/11/19 23:34:50

最近有一个需求就是点击按钮在弹框中去预览pdf文件,于是发现了一个HTML中比较重要的标签:embed,前面说的需求就可以用这个标签来实现,一起来学习一下吧。

embed标签是HTML中的一个非常重要的标签,它可以在你的网页上插入各种类型的多媒体内容,例如交互式应用程序,PDF,Flash,音频和视频文件等。

下面是embed标签的一些主要属性:

  1. src:此属性定义要嵌入的资源的URL。
  2. type:此属性定义资源的MIME类型。MIME类型是一种识别数据类型的方式,如
    ‘image/jpeg’、‘video/mpeg’ 等。
  3. width 和 height:这些属性定义嵌入对象的尺寸,单位为像素。
  4. pluginspage:此属性指向能播放嵌入内容的插件的下载位置。

下面直接看具体应用吧,我是把它单独拎出页面写的,所以直接在需要用到的组件里引入,想要传什么值自行添加即可

<template>
  <!-- 弹出框 -->
  <el-dialog
    title="pdf预览.pdf"
    v-model="openPdf"
    @close="onClose"
    :close-on-click-modal="false"
    width="1050px"
  >
  <!-- 预览pdf文件 -->
    <embed
      src="https://www.latex-project.org/help/documentation/usrguide.pdf"
      type="application/pdf"
      width="1010px"
      height="600px"
    />
  </el-dialog>
</template>

<script setup name="showPdf">
import { ref, reactive, computed, watch, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
// 是否打开弹窗
const openPdf = ref(false);

const props = defineProps({
  openPdf:{
    type:Boolean
  },
  uuid:{
    type:String
  },
  title:{
    type:String
  }
})
// 关闭弹窗
const onClose =()=>{
  openPdf.value = false;
}
</script>

<style lang="scss" scoped></style>


<template>
     <button @click="openDetail">打开弹窗</button>
     <!-- 弹窗 -->
     <showPdf v-model="openPdf" :uuid="uuid"></showPdf>
  </div>
</template>

<script setup>
import { ref} from "vue";
import showPdf from "@/views/showPdf.vue" // 引入前面写好的弹窗组件

const uuid = ref(null);
const openPdf = ref(false);

/**打开pdf弹窗 */
const openDetail=()=> {
  openPdf.value = true;
};
</script>

<style lang="scss" scoped></style>

效果图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105530.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CPU乱序执行

一、为什么CPU要乱序执行&#xff1f; 首先我们要明白一点&#xff0c;不是cpu真的乱序执行&#xff0c;而是为了提交执行效率&#xff0c;但这个所谓的乱序执行的前提下是有依据的&#xff0c;在没有互相依赖的代码行里才有可能产生这种乱序执行的现象。 1、有可能产生乱序执…

员工考勤统计表怎么做?

员工考勤统计表怎么做&#xff1f; 总结了下题主的需求—— 简单的考勤统计基础报表生成能自动打通对接钉钉考勤数据 这些需求其实都是最基本的考勤管理需求&#xff0c;最难的在于&#xff0c;如何能将钉钉考勤数据自动同步过来&#xff0c;如果能做到这点至少能提升60%的工…

ssm+vue基本微信小程序的今日菜谱系统

项目介绍 谈到外出就餐&#xff0c;我们除了怕排队&#xff0c;也怕这家餐厅的服务员不够用&#xff0c;没人为我们点餐&#xff0c;那么一餐饭排队一小时&#xff0c;点餐恐怕也要花个半小时&#xff0c;这样不仅给消费者的用餐体验大打折扣同时也给商家的口碑造成了严重负面…

2023年中国彩色滤光片竞争格局、市场规模及行业技术趋势分析[图]

彩色滤光片指实现液晶彩色显示的重要组件&#xff0c;该膜片可使经液晶控制的光线被过滤为红、蓝、绿三种基本色素点阵&#xff0c;并最终实现彩色显示画面的显示&#xff0c;彩色滤光片与LCD面板为一对一对应关系&#xff0c;即大尺寸彩色滤光片用于生产大尺寸LCD面板&#xf…

面试算法29:排序的循环链表

问题 在一个循环链表中节点的值递增排序&#xff0c;请设计一个算法在该循环链表中插入节点&#xff0c;并保证插入节点之后的循环链表仍然是排序的。 分析 首先分析在排序的循环链表中插入节点的规律。当在图4.15&#xff08;a&#xff09;的链表中插入值为4的节点时&…

倒计时 2 天!聚焦 Arm 性能提升,助力龙蜥生态落地应用

「龙蜥社区“走进系列”MeetUp」是由龙蜥社区与生态合作伙伴联合主办的系列月度活动&#xff0c;每期走进一家企业&#xff0c;聚焦龙蜥社区和合作伙伴的技术、产品和创新动态&#xff0c;展示硬核技术&#xff0c;共建繁荣生态。 本次龙蜥社区走进Arm MeetUp 将于 10 月 20 日…

大模型相关基础(基于李沐)

InstructGPT 介绍 ChatGPT用到的技术和InstructGPT一样的技术&#xff0c;区别是InstructGPT是在GPT3上微调&#xff0c;ChatGPT是在GPT3.5上微调。 InstructGPT论文发表在2022年3月4号&#xff0c;标题是《训练语言模型使得它们能够服从人类的一些指示》。 标题解释&#…

8+NAM+分型+单细胞生信思路

今天给同学们分享一篇肿瘤NAM分型单细胞的生信文章“Comprehensive analysis of nicotinamide metabolism-related signature for predicting prognosis and immunotherapy response in breast cancer”&#xff0c;这篇文章于2023年3月8日发表在Front Immunol期刊上&#xff0…

2023年中国现制咖啡市场发展概述分析:交易笔数和客单价将持续上升[图]

受到疫情封控影响&#xff0c;咖啡线下门店受到影响&#xff0c;但线上外卖门店仍保持良好发展态势&#xff0c;整体零售规模增长稳中有升。2022年&#xff0c;中国现制咖啡总零售规模为640亿元&#xff0c;2017-2022年零售规模的年复合增长率为16.3%。受益于资本关注、茶饮品牌…

安徽怀宁领导一行莅临蓝海彤翔集团参观考察

10月17日上午&#xff0c;中共怀宁县委书记余学峰&#xff0c;怀宁县政府副县长谭宪锋、怀宁县委办主任刘劲松、怀宁县招商中心副主任余飞、怀宁县委办四级主任科员彭俊等领导一行莅临蓝海彤翔集团参观考察&#xff0c;集团总裁鲁永泉、集团CTO穆凯辉接待了考察团一行。 考察团…

UE4 AI群集实现

逻辑就不用说了&#xff0c;就是计算对应图形位置让每个Pawn移动到该位置 因为有时候AI与AI会卡住 所以加上这个Bool为true&#xff0c;以及设置两个AI之间至少隔的距离&#xff0c;设置在一个合理的参数即可 有时候AI群集&#xff0c;AI与AI会比较紧密&#xff0c;可以将Caps…

【完美世界】两男神一美女登场,石昊杀真神夺金果,战帝老天人出世,云曦参战

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 完美世界动画终于更新第134集预告了&#xff0c;虽然不是云曦特别篇的内容&#xff0c;但是画质与特效明显提升了&#xff0c;打斗也开始燃起来了。而且还登场三位新角色&#xff0c;两大男神&#xff0c;一位…

c语言练习90:反转链表

反转链表 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 与方法一相比方法二的思路更容易实现 报错原因&#xff1a;head和n3不能为空&#xff0c;为空则不能执行后面的操作 报错原因&#xff1a;listnode*n1,n2,n3; 纠正&#xff1a;listnode *n1…

杨帆 2022年 毕业论文相关 基于WS-DAN与时空注意力的学生课堂行为检测研究

杨帆&#xff1a; 毕业论文相关 下面是我公开的毕业论文全部相关文件&#xff1a; https://share.weiyun.com/UhFV67ds https://share.weiyun.com/9qOxwpqz 下面是我曾经公开在b站上的视频&#xff0c;因为我导师不建议公开&#xff0c;今年9月删除了&#xff0c;下面是视频源…

私域流量经营怎么做?私域流量转化功能推荐

流量在商业中扮演着至关重要的角色。无论是在线下还是线上&#xff0c;谁能更快地获取和利用流量&#xff0c;谁就能在激烈的市场竞争中占据优势。然而&#xff0c;流量的转化方式在传统和数字化营销系统中有着显著的差异。 数字化营销系统&#xff0c;如分销系统、拼团系统、分…

《机器学习----简单的分类器》第二章、朴素贝叶斯,项目:使用特征值给语句打标签

贝叶斯分类器 1,朴素贝叶斯算法1. 朴素贝叶斯算法、2. 算法思路3. 贝叶斯定理4.特征的选用的要求和处理 2&#xff0c;算法应用1 文本分类2 垃圾邮件过滤3 情感分析 3. 朴素贝叶斯的优缺点1. 优点2. 缺点 项目实践1&#xff0c;算法流程2&#xff0c;具体实现 1,朴素贝叶斯算法…

第二证券:什么股票属于创业板?

股票商场是一种杂乱的国际&#xff0c;不同类型的股票对应不同的生意商场。其间&#xff0c;创业板股票是一个备受关注的论题。那么&#xff0c;什么样的股票归于创业板呢&#xff1f;本文将从商场定义、股票分类以及出资关键点三个角度分析这个问题&#xff0c;帮忙读者全面了…

Vue3+ElementPlus el-date-picker时间选择器,设置最多选择60天区间内,必须选择大于今天

Vue3ElementPlus el-date-picker时间选择设置&#xff0c; 必须选择大于今天&#xff1b;最多选择60天区间内&#xff1b; 使用disabled-date&#xff1a; 具体实现代码&#xff1a; <el-date-pickerv-model"state.queryParams.dateTime":editable"false&q…

红队专题-从零开始VC++C/S远程控制软件RAT-MFC-[4]客户端与服务端连接

红队专题 招募六边形战士队员服务端编写新建工程server函数创建主线程类获取配置信息运行command 命令头文件里创建引用win32 类库/头文件startsocket 开始监听 类函数添加类StartSocketmysend/myrecv 设置 m_sockCommon 头文件MSGINFO_S 结构体 ThreadMain头文件runflag 启动 …

RN:指定模拟器启动

背景 我们启动 react native 项目的时候&#xff0c;会打开一个模拟器&#xff0c;但是有时不是我们想要的&#xff0c;我们如何去指定一个模拟器启动呢&#xff1f; IOS xcrun simctl list devicesyarn ios --simulator"<模拟器的UDID>"Android 目前没发现…