收藏
回答

wx.createSelectorQuery()及相关接口

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.createSelectorQuery()该页面下的相关方法 微信iOS客户端 最新 最新

用提供的方法无法获取到制定节点的scrollTop信息。节点的信息里,只有

     rect.id      // 节点的ID
      rect.dataset // 节点的dataset
      rect.left    // 节点的左边界坐标
      rect.right   // 节点的右边界坐标
      rect.top     // 节点的上边界坐标
      rect.bottom  // 节点的下边界坐标
      rect.width   // 节点的宽度
      rect.height  // 节点的高度

没有scrollTop信息。用最下面的demo,如下

      wx.createSelectorQuery().select('#the-id').fields({
      dataset: true,
      size: true,
      scrollOffset: true,
      properties: ['scrollX', 'scrollY']
    }, function(res){
      res.dataset    // 节点的dataset
      res.width      // 节点的宽度
      res.height     // 节点的高度
      res.scrollLeft // 节点的水平滚动位置
      res.scrollTop  // 节点的竖直滚动位置
      res.scrollX    // 节点 scroll-x 属性的当前值
      res.scrollY    // 节点 scroll-x 属性的当前值
    }).exec()
   }

拿到的scrollTop  和scrollLeft 始终都为0。而且没有scrollX    和scrollY    的信息

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

5 个回答

  • LastLeaf
    LastLeaf
    2018-05-11

    楼主的问题,请仔细阅读文档 scrollOffset 相关的部分,这里不多做解答。


    1楼的问题:如果节点或任意父节点的 display 为 none 或设了 hidden,即节点没有在界面内拥有布局位置,其相关信息会为 0。


    2楼的问题:如果调用 selectorQuery.exec 时,节点还不存在(如节点在 wx:if 的 false 分支内),则会匹配不到节点,此时会返回 null 。

    2018-05-11
    有用
    回复 2
    • 小康
      小康
      2018-06-19

      我是在已经生成节点之后才使用的该方法,意思已经在界面内有布局位置了。异步拿到数据后,在界面内生成了节点,再调用的这个方法拿该节点的信息的

      2018-06-19
      回复
    • LastLeaf
      LastLeaf
      2018-06-19

      在旧版本基础库的某些情况下,调用 setData 后马上调用 selectorQuery.exec ,有可能取不到 setData 变更后的信息。需要写在 setData 的回调函数(第二个参数)里面。看下是不是这个问题。

      2018-06-19
      回复
  • 小康
    小康
    2018-06-19

    而且节点的display是true,是显示的,并没有隐藏什么的

    2018-06-19
    有用
    回复
  • 白开水
    白开水
    2018-05-11

    必须是 scroll-view 或者 viewport


    2018-05-11
    有用
    回复 1
    • 小康
      小康
      2018-06-19

      用的是view这个标签

      2018-06-19
      回复
  • 大师哥
    大师哥
    2018-05-10

    组件里面如何使用

    wx.createSelectorQuery

    返回null



    2018-05-10
    有用
    回复
  • 东起
    东起
    2018-05-09

    顶一下,

    WXML节点信息API

    这个api写的所有方法拿到的 width  height等信息都为0


    2018-05-09
    有用
    回复
登录 后发表内容