小程序子组件使用canvas无效,画不出图形,canvas线条颜色不显示

小程序中通常使用canvas,直接在page页面使用

ready(){
    const ctx = wx.createCanvasContext('canvas')
    ctx.setFillStyle('blue')
    ctx.fillRect(20, 20, 50, 65)
    ctx.draw();
  }

在子组件使用失效原因(准确来说是线条设置颜色失败)

canvas组件注册无效,这个因为createCanvasContext方法在page页面默认传了一个this,在组件里面需要手动传this。同时生成画布的时候wx.canvasToTempFilePath也要传入this,如下面的代码

传入this即可使用

const ctx = wx.createCanvasContext('canvas',this);

wx.canvasToTempFilePath({
           canvasId:'canvas',
	  success: function(res) {	},
	fail:(e)=>{}
},this)
落魄前端-小陈
0
0
0
评论
浏览
收藏