vue3使用echarts插件并实现点击下载图表功能
接到一个新的需求,就是用vue3制作一幅世界地图,并实现点击下载按钮将图表转变为图片下载到本地。
使用插件: html2canvas
npm安装: npm install html2canvas
组件引入: import html2canvas from 'html2canvas'

附上主要代码
methods: {
// 将echarts图表转换为canvas,并将canvas下载为图片
download() {
// 图表转换成canvas
html2canvas(document.getElementById("main")).then(function (canvas) {
var img = canvas
.toDataURL("image/png")
.replace("image/png", "image/octet-stream");
// 创建a标签,实现下载
var creatIMg = document.createElement("a");
creatIMg.download = "图表.png"; // 设置下载的文件名,
creatIMg.href = img; // 下载url
document.body.appendChild(creatIMg);
creatIMg.click();
creatIMg.remove(); // 下载之后把创建的元素删除
});
},
}
效果图:

注意:
包裹图表的dom容器宽高要比图表大,不然会出现只截取部分图片的现象。
vue3使用echarts插件并实现点击下载图表功能的更多相关文章
- location.href 实现点击下载功能
如果页面上要实现一个点击下载的功能,传统做法是使用一个 a 标签,然后将该标签的 href 属性地址指向下载文件在服务端的地址(相对地址或者绝对地址),比如这样: 能这样实现是因为,在浏览器地址栏输入 ...
- ECharts插件的使用
ECharts插件:官网下载echarts.js开发者可以选择源码.下载地址:http://echarts.baidu.com/download.html 下载之后,echarts.js放在js文件夹 ...
- angular引用echarts插件
方法一 1. 命令行下载 npm install echarts --savenpm install ngx-echarts --save 2. angular.json 配置echarts路径. 2 ...
- 项目中使用ECharts插件实现统计功能
一.前端界面 // 界面中定义一个div,放图表 <div id="box" style="width: 600px;height:400px;padding: 1 ...
- Echarts如何添加鼠标点击事件?防止重复触发点击事件
Echarts如何添加鼠标点击事件? 1.通常我们只使用了以下代码,通过配置项和数据显示图表. var myChart = echarts.init(document.getElementById(' ...
- 【React】react项目引入echarts插件 K线图
参考npm文档:https://www.npmjs.com/package/echarts-for-react 由于npm上已经有针对react项目出的echarts插件,所以在这里直接安装 第一步: ...
- vue3.x全局插件和组件
做vue项目的时候,总有一些小组件或者工具类,我们需要频繁的使用,每个使用的地方再去引用相对比较麻烦,当然也有一些好处,尤其是配合组件异步加载的时候,能最更好的减少项目首次加载的体积,从而优化一些体验 ...
- ECharts – 大数据时代,重新定义数据图表
ECharts 基于 Canvas 的纯 Javascript 图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值域漫游等特性大大增强了用户体验,赋予了用户对 ...
- php大力力 [045节] 兄弟连高洛峰 PHP教程 2014年[已发布,点击下载]
http://www.verycd.com/topics/2843130/ 第1部分 WEB开发入门篇第1章LAMP网站构建1.[2014]兄弟连高洛峰 PHP教程1.1.1 新版视频形式介绍[已发布 ...
- 转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图]
转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图] ExtJs是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架.功能丰富,无人能出其右.无论是界面 ...
随机推荐
- win32com操作word API精讲 第十集 Paragraphs & Paragraph接口 (一)
本课程<win32com操作word API精讲&项目实战>以视频为主,文字为辅,公众号ID:一灯编程 在word编程中,Range和Paragraph(s)接口无愧于劳模接口的称 ...
- Translent关键字-InvalidClassException异常_原理和解决方案
Translent关键字 static关键字:静态关键字静态优先于非静态加载到内存中(静态优先于对象进入到内存中)被static修饰的成员变量不能被序列化的,序列化的都是对象private stati ...
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(6)-Charles安卓手机抓包大揭秘
1.简介 Charles和Fiddler一样不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Charles也能截获 Android 和 Wind ...
- CSS 3 所有的选择器整理(2023.2)
你知道的和你不知道的所有选择器.不包含尚未广泛实现的,也不包含已弃用的. 基本的选择器规则(Selector) 类型(Type)选择器 直接用标签匹配特定的元素 span { ... } p { .. ...
- redis-07主从复制
转 https://www.jianshu.com/p/06ab9daf921d https://www.jianshu.com/p/06ab9daf921d 1 基本说明 我们所说的主从复制,主机数 ...
- 与ChatGPT关于测试问题的对话
1测试人员创造什么价值? 测试人员在软件开发生命周期中扮演着非常重要的角色,他们的主要职责是确保软件在发布前达到高质量标准.以下是测试人员为软件开发和业务提供的价值: 1.缺陷检测和修复:测试人员的主 ...
- WAVE音频文件格式及其64位扩展格式的简要介绍
正文 关于 WAVE 文件格式,网上有不少介绍,但关于WAVE 64位扩展格式的介绍却是几乎没有. 所以本文的目的是简要介绍标准的 WAVE 格式,以及两种主要的扩展格式. 文中所有代码都用C语言来描 ...
- 硬件协议之uart
1. 常规状态下,高电平 2. Start位, 低电平 3. 数据信号次序LSB, 即bit0最先传输, 低电平代表0, 高电平代表1 4. Stop位, 高电平 由此可见传送一个字节,需要1 ...
- Cesium计算三角形面积(十)
function triangleArea(p0, p1, p2) { //利用subtract计算出两个向量 let v0=Cesium.Cartesian3.subtract(p0,p1,newC ...
- T-SQL——将字符串转换为多列
目录 0. 使用ParseName 1. 具体到拆分为两列 2. 具体到拆分的指定的列数 志铭-2023年2月21日 0. 使用ParseName 注意:ParseName最多只能拆分为四列 Pars ...