# createSelectorQuery
返回一个 SelectorQuery
对象实例。可以在这个实例上使用 select
等方法选择节点,并使用 boundingClientRect
等方法选择需要查询的信息。
Tips:
- 使用
bz.createSelectorQuery()
需要在生命周期mounted
后进行调用。 - 默认需要使用到
selectorQuery.in
方法。
# 支持说明
应用能力 | Android | iOS | PC | 预览效果 |
---|---|---|---|---|
小程序 | 3.0.0 | 3.0.0 | 3.2.0 | 待补充 |
网页应用 | X | X | X | 待补充 |
# 输入
无
# 输出
返回值:SelectorQuery,该对象的方法列表参见下表:
方法 | 介绍 |
---|---|
SelectorQuery.in | 将选择器的选取范围更改为自定义组件 component 内,返回一个 SelectorQuery 对象实例。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。 |
SelectorQuery.select | 在当前页面下选择第一个匹配选择器 selector 的节点,返回一个 NodesRef 对象实例,可以用于获取节点信息。 |
SelectorQuery.selectAll | 在当前页面下选择匹配选择器 selector 的所有节点,返回一个 NodesRef 对象实例,可以用于获取节点信息。 |
SelectorQuery.selectViewport | 选择显示区域,可用于获取显示区域的尺寸、滚动位置等信息,返回一个 NodesRef 对象实例。 |
SelectorQuery.exec | 执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。 |
# 代码示例
const query = bz.createSelectorQuery().in(this);
query.select('#id').boundingClientRect(data => {
console.log("得到布局位置信息" + JSON.stringify(data));
console.log("节点离页面顶部的距离为" + data.top);
}).exec();
1
2
3
4
5
6
7
2
3
4
5
6
7