wx.createSelectorQuery()怎么获取当前页面组件中的元素?【解决】
发布于 7 年前 作者 yang29 10954 次浏览 来自 官方Issues

首先,

wx.createSelectorQuery()

这个方法,在当前页面中获取元素,没有问题。在我自定义的组件中获取,也可以。

但现在碰到一个问题,我需要获取一个第三方组件的高度。那么就需要获取该组件内的一个元素的高度。

现在经过各种尝试都无法获取到。

后来发现wx.createSelectorQuery().in(组件),这个方法,可以放个组件进去。但是虽然没有报错,却也没有任何执行结果。

代码类似如下:

wx.createSelectorQuery().in(‘组件名’).select(’.组件内元素的class’).boundingClientRect(function (res1) {

console.log(“res1”, res1);

}).exec();

请问大家都是用什么办法在组件外,获取指定组件部分元素的高度的呢?

====================================================

解决办法:

wx.createSelectorQuery().in(this.selectComponent(’#navTabs’)).select(’.van-ellipsis’).boundingClientRect(res1 => {

console.log(“res1”, res1);

}).exec();

给van-tabs加了一个id=“navTabs”,然后从源码中找到需要获取的class值,然后就获取到了。

2 回复

在页面js中

wx.createSelectorQuery().in(this.selectComponent(’#组件id’))…

===================

wxml中

<第三方组件  id=“组件id”></第三方组件>

外面包一个view。

回到顶部