在echarts图表外调用echarts的下载功能以及echarts getDataURL图表数据不显示的问题的解决方案...

问题描述:

echarts图表的toolbox里面本身有下载的功能,但有的时候,我们需要在echarts图表外添加一个按钮来实现下载,以下是基于vue,echarts版本4的一个解决方案记录:

解决方法:
1.借助a标签download属性

<a :href="chartImgUrl" download="echart.png">下载</a>

href属性 => 需要下载的内容的url地址
download属性 => 下载文件重命名
注意:
href链接为同源时,download属性才起作用,否则,只是打开链接内容。

2.借助echarts实例getDataURL方法

链接:http://echarts.baidu.com/api.html#echartsInstance.getDataURL

chart.setOption(option);//在此之后,可以调用getDataURL来获取图表url
//this => vue实例
//chartImgUrl => a的href链接的值
this.chartImgUrl = chart.getDataURL({
    pixelRatio: 2,
    backgroundColor: '#fff'
});

3.通过上面的方式,下载下来的图片只有底图,而没有数据的图表,此时,还需要对echarts实例的配置项中的series进行如下设置来关闭动画,然后就OK了。如果是希望保留动画效果的,则可以通过setTimeout进行一下延时处理,道理是一样的

animation: false

setTimeout(function() {
    this.chartImgUrl = chart.getDataURL({
        pixelRatio: 2,
        backgroundColor: '#fff'
        });
}, 1000)                                

参考链接1:https://blog.csdn.net/zuoyiran520081/article/details/77877355
参考链接2:https://www.jianshu.com/p/12257cd84098

转载于:https://www.cnblogs.com/chaoyueqi/p/10108565.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值