微信小程序使用echarts图表,点击按钮保存图表时,代码如下
const ecComponent = this.selectComponent('#mychart');
console.log("ecComponent==============",ecComponent)
真机测试时,有时候可以保存成功,但再点击保存图片,可以打印到这里,然后就没有然后了,也不报错,会有哪些因素造成这种情况?
ecComponent.canvasToTempFilePath({
success: res => {},
fail: res => console.log("fail======",res)
});
修改ec-canvas.js里面canvasToTempFilePath(opt)函数,在下面ctx.draw前加一句ctx.save();
canvasToTempFilePath(opt) {
if (!opt.canvasId) {
opt.canvasId = this.data.canvasId;
}
ctx.save();//这里进行修改
ctx.draw(true, () => {
wx.canvasToTempFilePath(opt,this);
},2000);
},
试出来的。。。挺有效。。。无法解释。。。。。。
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
获取路径: let image = this.echartsComponnet.toDataURL("image/png");
此时报错:this.echartsComponnet.toDataURL is not a function
补充:开发者工具中点击可以保存,是真机测试不稳定
加一个setTimeout试试
console.log(1)
ecComponent.canvasToTempFilePath({
success: res => console.log(2) ,
fail: res => console.log(3)
})
},3000),代码是这样的,可以打印1,后续没有任何反应