NodesRef

表示对一个或多个 UI 节点的引用。可用来对 UI 节点进行方法调用、属性获取和设置。

NodesRef 内部只保存查找节点所需的信息(例如 CSS 选择器),并不真正地指向某一个特定节点。实际的节点查找在 SelectorQuery.prototype.exec() 执行时才进行。 因此,NodesRef 指向的节点可能实际并不存在。在这种情况下,会在 exec() 调用时报错。

实例方法

NodesRef.fields()

查询选定节点的属性。

NodesRef.invoke()

执行选定元件的方法。

NodesRef.path()

查询节点到页面根节点的路径信息。

NodesRef.setNativeProps()

直接设定选定节点的属性。

示例

获取指定 text 节点的位置和大小:

class Page extends Component {
  componentDidMount() {
    lynx
      .createSelectorQuery() // 创建 SelectorQuery
      .select('#my-id') // 指定目标节点的选择器
      .invoke({
        // 指定对目标节点的操作
        method: 'boundingClientRect',
        success: function (res) {
          console.log(res);
        },
        fail: function (res) {
          console.log(res.code, res.data);
        },
      })
      .exec(); // 执行查询
  }

  render() {
    return (
      <view>
        <text id="my-id">...</text>
      </view>
    );
  }
}

兼容性

LCD tables only load in the browser

除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。