收藏
回答

SelectorQuery首次进入开发者工具的时候会报错

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows v1.02.1809111

我需要在组件就绪的时候知道它的宽高,如下在ready函数内做的:


Component({
  ready: function ready() {
    // TODO: 首次打开开发者工具弹出警告:
    //       VM54:1 An SelectorQuery call is ignored because no proper page or component is found.
    var query = this.createSelectorQuery();
    query.select('#foo').boundingClientRect();
    query.exec(function (_ref) {
      var component = _ref[0];
 
      console.log('component', component);
    });
  }
});


但这一步会在第一次打开开发者工具的时候报错:


VM54:1 An SelectorQuery call is ignored because no proper page or component is found. Please considering using `SelectorQuery.in` to specify a proper one.


会发现query.exec根本没有执行。这只在第一次打开开发者工具的时候才会发生,后续的编译不会出现这个问题了。我现在担心的是在真机上是否也会这样?希望官方能够尽快解决这个漏洞。

最后一次编辑于  2018-09-28  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • LastLeaf
    LastLeaf
    2018-09-28

    你好,这是一个已知问题,我们会尽快进行修复。另外建议后续经过搜索后再提问,以提高问题解答的效率。

    2018-09-28
    赞同
    回复 4
    • 苏寒
      苏寒
      2018-10-11

      这个问题我是搜索过的,但相关的问题没有任何答案,所以我又单独提了一个,毕竟我给出的代码片段还是比较简洁的。

      2018-10-11
      回复
    • Danko
      Danko
      2018-11-19

      最新的开发者工具仍未修复,真怕真机遇到

      2018-11-19
      回复
    • LastLeaf
      LastLeaf
      2018-11-19回复Danko

      这个虽然是开发者工具中的问题,但是在基础库中修复的。所以要在项目设置中换新的基础库版本(>=2.3.1)才行。

      2018-11-19
      1
      回复
    • Danko
      Danko
      2018-11-19回复LastLeaf

      亲测可行,谢谢

      2018-11-19
      回复
  • 不吃零食的乖宝宝🙃
    不吃零食的乖宝宝🙃
    02-14

    在页面里面用wx.createSelectorQuery()获取组件里面的dom,返回结果是null,已经设置了定时器,是小程序不支持这个操作么?还是其他什么原因呢?

    02-14
    赞同
    回复
  • 卢霄霄
    卢霄霄
    2018-09-28

    嗯,我也是。。我在真机上还没遇到,不过有的人据说是遇到了

    2018-09-28
    赞同
    回复 19
    • 苏寒
      苏寒
      2018-10-11

      对,我也看到过相关的评论。

      2018-10-11
      回复
    • 卢霄霄
      卢霄霄
      2018-10-11回复苏寒

      这个bug的状态现在是修复中了~

      2018-10-11
      回复
    • 苏寒
      苏寒
      2018-10-17回复卢霄霄

      在哪里看到的状态?

      2018-10-17
      回复
    • 卢霄霄
      卢霄霄
      2018-10-17回复苏寒

      有个官方的人回复的

      2018-10-17
      回复
    • 不吃零食的乖宝宝🙃
      不吃零食的乖宝宝🙃
      02-14回复卢霄霄

      在页面里面用wx.createSelectorQuery()获取组件里面的dom,返回结果是null,已经设置了定时器,是小程序不支持这个操作么?还是其他什么原因呢?

      02-14
      回复
    查看更多(14)