在JSTree和Lazy Loading中使用Open_all进行批量加载

时间:2015-09-21 13:28:04

标签: javascript jstree

我在我的应用程序中使用JSTree。

我有非常庞大的数据要在JSTree中显示。

我有大约200 000个节点要显示。

我向用户提供了搜索功能。在搜索时,我正在清除jstree的先前实例并使用所需数据创建新实例。

在" Root"时触发的Loaded事件我正在调用open_all()方法来打开所有节点,

我有大量数据,我正在使用延迟加载。因此,例如在一种情况下,我在一个节点内有20K节点。所以它产生20K ajax请求,最终导致" ERR_INSUFFICIENT_RESOURCES"。

如何通过open_all()将massload功能集成到这里?

1 个答案:

答案 0 :(得分:0)

您无需执行任何特殊操作 - 如果在您的实例中配置了massload,它将拦截搜索后发生的调用并在单个批处理中加载所需的节点。但是这对open_all不起作用,因为jstree事先不知道ID。

但是,既然您正在创建一个新实例,然后在其上调用open_all,为什么还要为该实例添加延迟加载?无论如何,您正在加载所有节点 - 当root的请求进入时,简单地返回整个结构。