import { Component } from "../../common"; import { NodesRef } from "../NodesRef"; import { AbstractSelectorQuery } from "./AbstractSelectorQuery"; /** * 查询节点信息的对象 */ export interface SelectorQuery extends AbstractSelectorQuery { /** * 执行所有的请求。请求结果按请求次序构成数组,在 `callback` 的第一个参数中返回。 * @param callback 回调函数 * @returns */ exec(callback?: (results: (Record | Record[])[]) => void): Promise; /** * 将选择器的选取范围更改为自定义组件 component 内(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。 * @param component 自定义组件实例 * @returns * * @example * ```javascript * Component({ * queryMultipleNodes() { * const query = ks.createSelectorQuery().in(this); * query * .select('#the-id') * .boundingClientRect(function (res) { * const top = res.top; // 这个组件内 #the-id 节点的上边界坐标 * }) * .exec(); * }, * }); * * ``` * */ in(component: Component): this; /** * 在当前页面下选择第一个匹配选择器 `selector` 的节点。返回一个 `NodesRef` 对象实例,可以用于获取节点信息。 * @param selector 选择器 * @returns */ select(selector: string): NodesRef; /** * 在当前页面下选择匹配选择器 `selector` 的所有节点。 * @version {"kma":"1.26.1","ide":"1.22.0"} * @param selector 选择器 * @returns */ selectAll(selector: string): NodesRef; /** * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。 * @returns */ selectViewport(): NodesRef; } export {};