blockly > IFocusableTree > getRestoredFocusableNode

IFocusableTree.getRestoredFocusableNode() 方法

返回此树的 IFocusableNode,当树本身的焦点返回到它时,它应接收活跃焦点。

在实现不会返回 null 的此方法版本时,请注意以下有关树的焦点生命周期的一些非常重要的注意事项:1. 由于节点可能会被删除,因此 null previousNode 无法保证首次获得焦点状态。2. 仅当树本身通过 Tab 导航或 FocusManager.focusTree() 获得焦点时,才会使用此方法。在许多情况下,系统会直接将焦点移至之前获得焦点的节点,而绕过此方法。3. 默认行为(即在此处返回 null)涉及恢复上一个节点 (previousNode) 或将焦点移至树的根。4. 所提供的节点有时可能已失效,例如,当尝试聚焦于最近从其父树中移除的节点时。实现可以检查节点的有效性,以专门指定应将焦点回退到的节点。

此方法主要用于为树实现提供一种指定比其根节点更好的默认节点的方法。

Signature:

getRestoredFocusableNode(previousNode: IFocusableNode | null): IFocusableNode | null;

参数

参数 类型 说明
previousNode IFocusableNode | null 之前持有此树的被动焦点的节点;如果树尚未获得焦点,则返回 null。

返回

IFocusableNode | null

现在应接收焦点的 IFocusableNode,如果应改用默认行为,则为 null。