# 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