项目场景:
uni-app,开发微信小程序
使用:
wx.canvasToTempFilePath({canvasId: 'line',success: function(res) {console.log('canvasToImg', res);this.radarImg = res.tempFilePath;},fail: function(res) {console.log(res);}});
问题描述:
echarts绘图,canvas层级过高,想转化为图片;
结果:报错errMsg:“canvasToTempFilePath:fail canvas is empty”
原因分析:
因为canvasId是动态传入的,开始以为是canvasId传错了,后面写死还是报错;
原因是因为在组件中使用,canvasToTempFilePath的第二个参数必须要传入。具体可看解决方案中的代码;
解决方案:
解决方法代码如下
var that = this;wx.canvasToTempFilePath({canvasId: 'line',success: function(res) {console.log('canvasToImg', res);this.radarImg = res.tempFilePath;},fail: function(res) {console.log(res);}},that);