收藏
回答

2个canvas组件重叠,调用clearRect时,却2个都清除了。为什么呢?

工具1.06,基础库2.30, canvas type=2d。页面放罢了2个canvas,使用绝对定位后2者重叠。2层fillRect颜色不一样,上层的背景还是透明的,在上层调用clearRect后,下层的图形也被清除了。和web上的现象不太一样。网页上的操作是下层不会清除的。

回答关注问题邀请回答
收藏

2 个回答

  • Demons
    Demons
    2023-02-20

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-02-20
    有用
    回复
  • 神旗
    神旗
    2023-02-20

    谢谢。发现问题了。下面的代码打印出来的是同一个ID,也就是同一个canvas,这样的话,是不是这个selector有BUG。。第二个只有重新创建一个selector才是正常不同的ID。

    <canvas type="2d" id="c2"></canvas>  
    <canvas type="2d" id="c1"></canvas>
    
    
     const selector = wx.createSelectorQuery()
        selector.select('#c1')
            .fields({ nodetruesizetrue })
            .exec((res) => {
              console.log(res[0].node.id)
            })
     selector.select('#c2')
            .fields({ nodetruesizetrueidtrue })
            .exec((res) => {
              console.log(res[0].node.id)
            })    
    
    
    2023-02-20
    有用
    回复 1
    • 韦光波哈!
      韦光波哈!
      2023-09-20
      在使用同一个selector时,会把结果都丢到同一个参数里面,也就是其实你的第二个selector的res中存在两个node
      2023-09-20
      回复
登录 后发表内容