zoukankan      html  css  js  c++  java
  • 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>
     
  • 相关阅读:
    .ashx
    svn设置过滤内容
    .NET开发人员应该下载的十个必备工具(1)
    C#中操作XML (节点添加,修改,删除完整版)
    NVelocity模板引擎的注意事项
    什么是好的程序员?
    SQLSERVER2005登录时出错
    240多个jQuery插件(转)
    自己搭建svn
    一元三次方程求解
  • 原文地址:https://www.cnblogs.com/zhaoxiaoying/p/9723538.html
Copyright © 2011-2022 走看看