收藏
回答

canvas 2d selectQuery 后 exec 真机不执行回调

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug exec 微信安卓客户端 7.0.10 2.10.2
<canvas wx:show="{{false}}" type="2d" id="canvasForHardwarePrint"></canvas>
script:

getCanvasPrint () {
  return new Promise((resolve, reject) => {
    const query = wx.createSelectorQuery()
    query.select('#canvasForHardwarePrint').fields({ node: true, size: true }).exec((res) => {
       // 真机上这个回调不会执行
        const canvas = res[0].node
        const ctx = canvas.getContext('2d')
        const dpr = wx.getSystemInfoSync().pixelRatio
        canvas.width = res[0].width * dpr
        canvas.height = res[0].height * dpr
        ctx.scale(dpr, dpr)
        ctx.fillRect(0, 0, 1, 1)
        let imageData = ctx.createImageData(1, 1)
        const base64 = wx.arrayBufferToBase64(imageData.data)
        resolve(hashCode(base64))
      })
  })
}
回答关注问题邀请回答
收藏

2 个回答

  • freethy
    freethy
    2020-04-30

    我这边没有wx:show的设置,回调也没有调用

    2020-04-30
    有用
    回复
  • 是小白啊
    是小白啊
    2020-03-10
    wx:show="{{false}}"去掉这个看下?
    
    2020-03-10
    有用
    回复 3
    • Bingo
      Bingo
      2020-03-13
      确实去掉可以了,感谢
      2020-03-13
      回复
    • 人间失格
      人间失格
      2020-03-27
      您好,我这边没有wx:show的设置,回调也没有调用
      2020-03-27
      回复
    • 作一支欢快的曲儿
      作一支欢快的曲儿
      07-22
      卧槽 我没有wx:show  我有display:none 修改成透明度为0就好了
      07-22
      回复
登录 后发表内容
问题标签