收藏
回答

使用跨组件选择器获取元素信息无法获取?

我想获取自定义组件里面的插槽元素的位置信息,通过官方文档跨组件选择器选择的,就第一次成功了,刷新一下怎么都不成功,始终是null,这是什么原因?  

<view class="content">
    <van-tabs bindchange="changeTab" border color="#4771fa" active="{{ active }}" bind:change="onChange">
          <van-tab name="{{item.TypeId}}" wx:for="{{msgTypeList}}" wx:key="TypeId" title="{{item.TypeName}}">
            <view class="contentMain">
              <scroll-view class="msgView" scroll-y="true">
                <contentCard lable="沙滩" title="大梅沙"></contentCard>
                  <contentCard lable="沙滩" title="大梅沙"></contentCard>
                  <contentCard lable="沙滩" title="大梅沙"></contentCard>
                   <contentCard lable="沙滩" title="大梅沙"></contentCard>
                  <contentCard lable="沙滩" title="大梅沙"></contentCard>
                  <contentCard lable="沙滩" title="大梅沙"></contentCard>
                  <contentCard lable="沙滩" title="大梅沙"></contentCard>
                  <contentCard lable="沙滩" title="大梅沙"></contentCard>
            </scroll-view>
          </view>
        </van-tab>
      </van-tabs>
 </view>

js代码如下

wx.getSystemInfo({
      success(result) => {
        console.log(result);
        let query = wx.createSelectorQuery()
        query.select(".content>>>.contentMain").boundingClientRect(function(res){
          console.log(res);
        }).exec()
      },
    })
回答关注问题邀请回答
收藏

1 个回答

  • 微盟
    微盟
    2021-12-22

    你是不是在页面生命周期的onReady中,执行的wx.getSystemInfo ? 相同的代码测试,始终是可以获取到元素的位置信息的。

    2021-12-22
    有用
    回复 2
    • 十三
      十三
      发表于移动端
      2021-12-22
      测试过了,开发工具有时可以有时不行,真机调试无法获取,我主要是获取不到自定义组件内元素的位置信息,也不知道是不是因为用了vant的原因
      2021-12-22
      回复
    • 微盟
      微盟
      2021-12-22回复十三
      可以试着把contentMain这个内容区域封装自定义组件,在该组件ready时,获取它的位置信息抛出给其他使用?
      2021-12-22
      回复
登录 后发表内容