vue-cli 项目中使用 v-chart 及导出 chart 图片
安装:
npm i v-charts echarts -S
组件中使用:
1 <template>
2 <div class="app-chart">
3 <div id="print-content">
4 <!--用于图标组件-->
5 <ve-pie :data="chartData" :colors="colors"></ve-pie>
6 <!--导出的图片box-->
7 <div ref="box"></div>
8 </div>
9 <div class="foot">
10 <!--打印操作-->
11 <button type="primary" @click="doPrint">打 印</button>
12 </div>
13 </div>
14 </template>
15
16 <script>
17 //引入图标组件
18 import VePie from 'v-charts/lib/pie.common'
19
20 export default {
21
22 name: "app-pie",
23
24 data(){
25
26 return{
27
28 //图标相关参数(详情见官方文档)
29 chartData:{
30 columns: ['日期', '销售量'],
31
32 rows: [
33 { '日期': '1月1日', '销售量': 123 },
34 { '日期': '1月2日', '销售量': 207 },
35 { '日期': '1月3日', '销售量': 167 },
36 { '日期': '1月4日', '销售量': 193 },
37 ]
38
39 },
40
41 //图标样式的配置(相关配置查看官方文档)
42 colors:['#19d4ae','#fa6e86']
43 }
44
45 },
46
47 //注册图标组件
48 components:{
49 VePie
50 },
51
52 methods:{
53
54 //打印页面
55 doPrint(){
56
57 this.createImage();
58
59 this.$nextTick(()=>{
60
61 if(this.$refs.box.innerHTML){
62
63 let PrintContent = document.getElementById('print-content');
64 let newContent =PrintContent.innerHTML;
65 let oldContent = document.body.innerHTML;
66 document.body.innerHTML = newContent;
67 window.print();
68 window.location.reload();
69 document.body.innerHTML = oldContent;
70 return false;
71
72 }
73
74 });
75
76 },
77
78 //chart图标导出图片
79 createImage(){
80
81 // this.$nextTick(()=>{});
82
83 const canvas = document.getElementsByTagName('canvas')[0];
84
85 const box = this.$refs.box;
86
87 let image = canvas.toDataURL({
88 type:"png",
89 pixelRatio: 2,
90 backgroundColor: '#fff',//不设置此项,导出图片的底色是黑色
91 });
92
93 box.innerHTML = '<img src="'+image+'" alt="">';
94 }
95 },
96 }
97 </script>
98
99 <style scoped>
100 @media print {
101 .no-print{
102 display: none;
103 }
104 }
105 </style>
vue-cli 项目中使用 v-chart 及导出 chart 图片的更多相关文章
- Vuex内容解析和vue cli项目中使用状态管理模式Vuex
中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...
- vue.cli项目中src目录每个文件夹和文件的用法
assets文件夹是放静态资源:components是放组件:router是定义路由相关的配置:view视图:app.vue是一个应用主组件:main.js是入口文件:
- vue cli 项目中设置背景图
https://blog.csdn.net/MoLvSHan/article/details/78204972 不能直接写成相对路径,像下面这这种就会报错 backgroundImage: " ...
- Vue+Typescript项目中使用echarts
方案一:推荐 在typescript+Vue的项目中引用echarts,为了加强引用,引入echarts和@types/echarts两个包,一个是工程依赖,一个是声明依赖. npm install ...
- 改造@vue/cli项目为服务端渲染-ServerSideRender
VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...
- 在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理
在一些内部OA或者流转的文件,或者给一些客户的报价文件.合同,或者一些医院出示的给保险机构的病历资料等,有时候可能都希望快速的使用电子签章的处理方式来给文件盖上特定的印章,本篇随笔介绍基于Vue&am ...
- 在基于ABP框架的前端项目Vue&Element项目中采用电子签名的处理
在前面随笔介绍了<在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理>的处理,有的时候,我们在流程中或者一些文件签署的时候,需要签上自己的大名,一 ...
- Vue CLI 3 中文文档
翻译文档 文档翻译全貌 前言 之前写了一篇Vue CLI 3.x 版本的简单体验,当时文档还不全,具体的使用方法并不是很清楚,大概是2月7号,收到Vue CLI 3接近Beta版的提示,作者尤雨溪也讲 ...
- Vue 实际项目中你可能会遇见的坑
纸上得来终觉浅,绝知此事要躬行! Vue的文档和教程看的太多,小的demo做的多,也不如自己实际的进行一个完整项目的开发.只有做了才知道原来问题这么多,这里列举了一些你做demo教程可能不会遇见的坑. ...
- Vue 实际项目中你可能会遇见问题
纸上得来终觉浅,绝知此事要躬行! Vue的文档和教程看的太多,小的demo做的多,也不如自己实际的进行一个完整项目的开发.只有做了才知道原来问题这么多,这里列举了一些你做demo教程可能不会遇见的坑. ...
随机推荐
- Linux 内核的代码仓库太不一样了,光克隆都让我挠头,克隆后居然还丢文件,你肯定也会遇到!!!
一个肯定能让你节省几个小时的小知识 大家好,我是 小猿来也,一个人称撸(划)码(水)小能手的程序猿. 最近一段时间,每次经过旁边大佬工位,总是发现他在快速的切屏,不知道在搞什么?难道他发现了快乐星球? ...
- spring security整体流程
spring-security原理 图片中各个类的作用: 1JwtUser类:实现Springsecurity的UserDetails类,此类必须有三个属性 private String userna ...
- vim编辑文件时[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
出现这个问题是因为你上次编辑的时候在没有保存的情况下退出了(如:电脑关机等)也有可能是有其他人在和你同时进行编辑行为(不同会话中).这是因为在用vim编辑的时候,vim会在打开文件目录下 ...
- protocol buffer的高效编码方式
目录 简介 定义一个简单的message Base 128 Varints 消息体的结构 符号整数 字符串 嵌套的消息 总结 简介 protocol buffer这种优秀的编码方式,究竟底层是怎么工作 ...
- CSS Transform完全指南(第二版) #flight.Archives007
Title/ CSS Transform完全指南(第二版) #flight.Archives007 序: 第7天了! 终身学习, 坚持创作, 为生活埋下微小的信仰. 我是忘我思考,共同进步! 简介: ...
- C语言预处理编译链接各个阶段错误,分阶段的说一下
C语言预处理编译链接各个阶段错误,分阶段的说一下 C语言预处理编译链接各个阶段错误,分阶段的说一下比如指针异常,数组下标越界什么的 我来答 1个回答 #热议# 你觉得这辈子有希望看到996消失 ...
- C++11 shared_ptr(智能指针)详解
要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情.C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared _ptr 模板,就是 ...
- dataTemplate 使用
App ----------------------------------------------------------------- <Application x:Class=" ...
- Struts2与Hibernate整合
时间:2017-1-26 02:00 1.创建一个Web项目2.导入jar包 3.引入配置文件 struts.xml hibernate.cfg.xml log4j.prope ...
- 关于Java for循环的注意点
1 import java.util.ArrayList; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 ...