jstree - 将分支扩展到特定的孙子

jstree - expand branch to a specific grand-child

我有一个深 3 层或更多层的 (js)Tree。虽然我已经预加载了整个树数据,但树是折叠的,除了根节点。在特定的 js 事件中,我想扩展特定的节点(我有它的 ID/selector)。我该怎么做?

目前我只能:

placeholder.find(".jstree").jstree("open_all");
placeholder.find(".jstree").jstree("select_node", "[data-xxx = '" + yyy + "']");

它展开一切并选择给定的节点。我想实现同样的事情,但只扩展导致我的节点的分支。

用图片来说,我的代码做的是:

我想要它做的是:

我正在使用最新版本的 jsTree。

您应该使用 _open_to 功能。如果您有节点 ID,它应该非常简单:

placeholder.find(".jstree").jstree(true)._open_to("NODE_ID_HERE");

以下是有关此功能的文档: https://www.jstree.com/api/#/?q=_open_to&f=_open_to%28obj%29

编辑:如果你还想select节点,调用select_node就足够了,因为它会打开节点的父节点默认。