vue3中实现echarts打印功能

目录

  • 一、创建项目
  • 二、项目引入echarts
    • 1、下载依赖
    • 2、项目引用
    • 3、编写建议echarts图表
  • 三、打印功能
    • 1、增加打印按钮
    • 2、打印方法
  • 3、效果

一、创建项目

老规矩,先从创建项目开始

npm create vite@latest print-demo(项目名称)

第一步出现的框架选择vue,然后回车
在这里插入图片描述
第二步的语言就选TS,一般vue3都是搭配TS使用的,选择后回车
在这里插入图片描述
然后会出现三个指令,三个指令都是依次执行的,缺一不可,
在这里插入图片描述
依次执行完成以后,会出现一个地址,这个地址就是项目的地址,按住ctrl然后鼠标点击,就可以直接打开项目了
在这里插入图片描述
然后打开就是这样的一个页面,
在这里插入图片描述

二、项目引入echarts

1、下载依赖

官网中有详细介绍,感兴趣的可以看看官网地址
在这里插入图片描述
在这里插入图片描述

2、项目引用

官网中有详细介绍,我这里就跳过这一步,直接先写一个实例出来
在这里插入图片描述

3、编写建议echarts图表

官网上例子很多,我就不做详细介绍了,直接贴我用的官网的一个例子

<script setup lang="ts">
import { onMounted, ref } from 'vue'
import * as echarts from 'echarts';
defineProps<{ msg: string }>()const count = ref(0)
const option = ref({tooltip: {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#6a7985'}}},legend: {data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true},xAxis: [{type: 'category',boundaryGap: false,data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']}],yAxis: [{type: 'value'}],series: [{name: 'Email',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [120, 132, 101, 134, 90, 230, 210]},{name: 'Union Ads',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [220, 182, 191, 234, 290, 330, 310]},{name: 'Video Ads',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [150, 232, 201, 154, 190, 330, 410]},{name: 'Direct',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [320, 332, 301, 334, 390, 330, 320]},{name: 'Search Engine',type: 'line',stack: 'Total',label: {show: true,position: 'top'},areaStyle: {},emphasis: {focus: 'series'},data: [820, 932, 901, 934, 1290, 1330, 1320]}]
})
const operateCharts = ref<HTMLElement | null>(null)
onMounted(() => {initChart()
})
const initChart = () => {if (operateCharts.value) {const chart = echarts.init(operateCharts.value)chart.setOption(option.value)window.addEventListener('resize', function () {chart.resize()})}}
</script><template><div ref="operateCharts" style="width: 500px;height:500px"></div>
</template><style scoped>
.read-the-docs {color: #888;
}
</style>

这个代码出来的效果如下
在这里插入图片描述

三、打印功能

1、增加打印按钮

代码增加如下

<template><div ref="operateCharts" style="width: 500px;height:500px"></div><button>打印</button>
</template>

页面如下,我这里给按钮加了一个边框,让按钮看的更清楚,大家可加可不加
在这里插入图片描述
在style.css中
在这里插入图片描述

2、打印方法

①给按钮绑定方法

  <button @click="Print">打印</button>//写一个空的方法const Print = ()=>{}

②直接调用window.print();

const Print = () => {window.print();
}

3、效果

点击打印,就调出打印的页面了,这是最简单的一个方式,后期会更新稍微复杂一些的,请关注后期帖子
在这里插入图片描述

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

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

相关文章

今日行情明日机会——20250711

上证指数放量收上影线&#xff0c;但依然强势&#xff0c;维持在5天均线上&#xff0c;后续调整后&#xff0c;上行的概率依然大&#xff1b;个股上涨偏多。深证指数缓慢上涨&#xff0c;已经突破下跌趋势线&#xff0c;目前依旧沿着5日线上行&#xff0c;后市依然值得期待。20…

「日拱一码」024 机器学习——防止过拟合

目录 数据层面 数据增强 数据正则化 ​数据采样 模型结构层面 简化模型 添加正则化层 早停法&#xff08;Early Stopping&#xff09; 训练过程层面 使用交叉验证 使用集成学习 调整学习率 防止过拟合是机器学习中一个非常重要的问题&#xff0c;它可以帮助模型在新…

持有对象-泛型和类型安全的容器

我们需要管理一批对象序列&#xff0c;但是又对实际运行的时候的对象类型和对象序列长度不确定的时候&#xff0c;用简单的对象引用无法满足&#xff0c;java有ArrayList,Map,Set等这些容器类提供&#xff0c;这些都实现了Collections接口&#xff0c;所以都属于Collections类。…

《财税企业经营管理秘籍(一):行业适配的获客方式》

在财税服务这片竞争激烈的红海中&#xff0c;客户资源如同氧气——没有它&#xff0c;企业寸步难行。然而残酷的现实是&#xff0c;许多财税企业正深陷“获客泥潭”&#xff1a;投入巨大精力与成本&#xff0c;换来的却是转化渺茫、增长停滞的困境。高质量线索&#xff0c;已成…

使用tensorflow的多项式回归的例子(一)

多项式回归例1%matplotlib inlineimport tensorflow as tfimport numpy as npimport matplotlib.pyplot as plttrX np.linspace(-1, 1, 101)num_coeffs 6trY_coeffs [1, 2, 3, 4, 5, 6]trY 0for i in range(num_coeffs):trY trY_coeffs[i] * np.power(trX, i)trY np.rand…

STM32F103C8T6基于HAL库驱动NB-IoT模块BC26通信详 解

一、引言&#xff1a; NB-IoT技术与应用场景NB-IoT&#xff08; Narrow Band Internet of Things &#xff09;作为低功耗广域网&#xff08; LPWAN &#xff09;的核心技术&#xff0c;以其广覆 盖、低功耗、大连接、低成本的特性&#xff0c;广泛应用于智能表计、环境监测、…

iOS 性能测试工具全流程:主流工具实战对比与适用场景

在iOS开发中&#xff0c;性能优化往往被安排到开发后期&#xff0c;甚至上线前才临时补救。但性能瓶颈通常是架构设计、资源加载、动画机制等多方面共同作用的结果&#xff0c;仅凭肉眼感知和log输出&#xff0c;难以精准定位。 一套合适的性能测试工具组合&#xff0c;不仅能帮…

目标检测:视觉系统中的CNN-Transformer融合网络

一、背景 无人机&#xff08;UAVs&#xff09;在城市自动巡逻中发挥着重要作用&#xff0c;但它们在图像识别方面面临挑战&#xff0c;尤其是小目标检测和目标遮挡问题。此外&#xff0c;无人机的高速飞行要求检测系统具备实时处理能力。 为解决这些问题&#xff0c;我们提出了…

揭示宇宙的隐藏对称性:群论-AI云计算拓展核心内容

通过利用云计算&#xff0c;借助群论对宇宙对称性的探索&#xff0c;从离散群和李群等基础概念&#xff0c;逐步深入到量子力学和更高自旋系统中的高级应用。 对称性远不止是美学上的吸引力&#xff1b;它是编织在宇宙结构中的一个基本原则。从雪花的复杂图案到控制粒子的基本定…

前端项目vue3项目集成eslint@9.x跟prettier

tips: 这些涉及编辑器的修改不一定能及时生效&#xff0c;如果没有生效&#xff0c;可以试试重启编辑器窗口 编辑器集成 我的编辑器是vscode&#xff0c;需要安装这两个编辑器插件eslint prettier我这个配置主要是通过eslint提供的配置cli命令生成&#xff0c;在里面加入了对pr…

登录超时问题的排查方法与预防经验分享

​​一、排查方法​​​​检查网络连接​​确保网络稳定&#xff0c;尝试重启路由器或切换网络&#xff08;如从WiFi切换到移动数据&#xff09;。使用命令&#xff08;如 ping 或 traceroute&#xff09;测试网络连通性&#xff0c;排查是否存在丢包或高延迟。​​验证服务端状…

uniapp,Anroid10+版本如何保存图片并删除

Android 10系统开始 进一步增强了平台功能&#xff0c;为外部存储设备上的应用和用户数据提供了更好的保护。作为这项工作的一部分&#xff0c;平台引入了进一步的改进&#xff0c;以简化向分区存储的转换。 为了让用户更好地控制自己的文件&#xff0c;保护用户隐私数据&#…

Jenkins Pipeline 语法

Pipeline 简介 Jenkins2.x 的核心是使用 pipeline 来构建项目,也就是流水线,将 Jenkins1.0 版本中基于表单的配置信息比如 JDK/SVN 以及参数的配置都转变成了代码,即 pipeline as Code。 传统的表单方式有以下缺点: 需要大量的 web 表单交互,有时候需要进行很多次的切换…

搭建渗透测试环境

一、基于docker搭建靶场 #此步骤需要科学上网 #从软件源中下载 docker.io 和 docker -compose 软件包及其依赖项。 sudo apt-get install docker.io docker-compose #查看docker版本 docker -v #查看docker信息 docker info #重启docker服务 sudo systemctl daemon-reload sudo…

(一)OpenCV——噪声去除(降噪)

高斯滤波器&#xff08;针对高斯噪声&#xff09; 高斯噪声是指它的概率密度函数服从高斯分布&#xff08;即正态分布&#xff09;的一类噪声。常见的高斯噪声包括起伏噪声、宇宙噪声、热噪声和散粒噪声等等。 高斯滤波(Gaussian filter) 包含许多种&#xff0c;包括低通、带…

百度开源文心 4.5 系列开源大模型 GitCode 本地化部署,硅基流动:文心 vs. DeepSeek vs. Qwen 3.0 深度测评

百度开源文心 4.5 系列开源大模型 GitCode 本地化部署&#xff0c;硅基流动&#xff1a;文心 vs. DeepSeek vs. Qwen 3.0 深度测评 文章目录百度开源文心 4.5 系列开源大模型 GitCode 本地化部署&#xff0c;硅基流动&#xff1a;文心 vs. DeepSeek vs. Qwen 3.0 深度测评背景百…

「日拱一码」022 机器学习——数据划分

目录 基于单次随机划分的方法 普通单次随机划分&#xff08;train_test_split&#xff09; 分层单次随机划分(使用 train_test_split 的 stratify 参数) 基于多次随机划分的方法 普通多次随机划分(ShuffleSplit) 分层多次随机划分&#xff08;StratifiedShuffleSplit…

lora网关

所需配置的引脚&#xff0c;SPI传输&#xff0c;PG13复位&#xff08;输出引脚&#xff0c;推挽输出&#xff09;&#xff0c;PE2忙碌&#xff08;输入引脚&#xff0c;浮空输入&#xff09;PE6PE5输出。若利用延时处理按键消抖&#xff0c;hal库里用systick中断实现延时&#…

5G IMS注册关键一步:UE如何通过ePCO获取P-CSCF地址

看似简单的P-CSCF地址传递,背后是5G核心网控制面与用户面的精密协作。ePCO作为高效的信令载体,承载着IMS业务触达的第一把钥匙。 在5G网络中建立IMS PDN连接时,UE(用户设备)获取P-CSCF(Proxy-Call Session Control Function)地址是IMS业务(如VoLTE、VoNR)成功注册和运…

JVM方法区的运行时常量区到底存储哪些数据?

JDK8以后&#xff0c;运行时常量池逻辑上属于方法区&#xff1b;但&#xff1a; 其中的字符串常量池实际位置移至到了java堆&#xff1b;其中一些符号引用也存储到了元空间&#xff1b;字符串常量池&#xff0c;元空间&#xff0c;运行时常量区的具体关系请看这篇博客&#xf…