收藏
回答

SelectorQuery NodesRef.node 在 macOS 上返回 null ?

开发者工具没有问题,可以正常获取:

但是,macOS 上的预览就会出现问题:

macOS:10.14.6 (18G103)

微信:Version. 2.4.2 (14931) Beta 10

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

7 个回答

  • 微品智
    微品智
    2020-10-30

    来挖个坟,现在微信的window客户端也是同样的问题,当使用type="2d"的canvas时,按照官方教程的写法:

    const query = wx.createSelectorQuery()
        query.select('#myCanvas')
          .fields({ node: true, size: true })
          .exec((res) => {
            const canvas = res[0].node
            const ctx = canvas.getContext('2d')
    

    res[0].node 一直是null,但size可以正常获取。即使单独使用

    wx.createSelectorQuery().select('.canvas').node(function(res){
          console.log(res.node) // 节点对应的 Canvas 实例。
        }).exec()
    

    也是一样的,res.node == null

    暂时无解,产品中已禁止在windows客户端中使用canvas。

    2020-10-30
    有用 3
    回复
  • Yeung
    Yeung
    2021-10-08

    canvas 标签需要加上 type="2d"

    2021-10-08
    有用 2
    回复 1
    • Summer
      Summer
      2021-11-07
      试了很多方法 你这个有效 官方文档是加了canvasId  就不需要设置type="2d" 用的taro  实际是需要的
      2021-11-07
      回复
  • Felix
    Felix
    2020-08-15

    代码片段

        wx.createSelectorQuery()
        .in(this)
        .select(`#canvas`)
        .fields({ node: true, size: true, context: true })
        .exec(([result]) => {
          console.log(result)
        })
    
    2020-08-15
    有用 1
    回复
  • 灵芝
    灵芝
    2020-07-07

    你好,请提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-07-07
    有用 1
    回复 2
    • Felix
      Felix
      2020-08-15
      代码片段无法在 MacOS 上运行,只能在开发者工具中,开发者工具是没有问题的,见下图
      2020-08-15
      回复
    • 灵芝
      灵芝
      2020-08-18回复Felix
      你提供一下看看呢
      2020-08-18
      回复
  • 胸口碎大石
    胸口碎大石
    2021-01-14

    同样遇到这种问题,两种方式都用了,都是获取不到canvas

    2021-01-14
    有用
    回复
  • 堃。
    堃。
    2021-01-04

    相同的问题,node: null。请问你们解决了吗?

    2021-01-04
    有用
    回复
  • 云剑☀
    云剑☀
    2020-11-18

    遇到同样的问题,调试模式下正常,发布出去的版本node为null

    代码片段:

    const query = wx.createSelectorQuery().in(this);
    query.select('#webgl')
          .fields({
            node: true,
            context: true,
            id: true,
            dataset: true,
            rect: true,
            size: true,
            scrollOffset: true
          })
          .exec((res) =>{console.log(res[0]);})
    

    返回的值:

    bottom320
    dataset: Object
    height320
    id"webgl"
    left0
    node: null
    nodeCanvasType"webgl"
    right414
    scrollHeight0
    scrollLeft0
    scrollTop0
    scrollWidth0
    top0
    width414
    

    可以看见,返回得node值为null。这个只有在发布或者预览的版本上有,调试模式下没有。@微信官方,请解决一下。

    2020-11-18
    有用
    回复
登录 后发表内容
问题标签