0

我制作了一个小应用程序,它接收一个 json 字符串,将字符串转换为传递给 jsTree 的 json 对象。我的树的节点可能有也可能没有子节点。我的节点也有不同的类型,我用排序插件对它们进行了排序。

我最初的问题是树加载非常缓慢(尤其是在 FireFox 中),我可以看到问题部分是由于排序插件。我在漫游互联网时发现的一种解决方案是使用 jsTree JSON 插件的“progressive_render”选项。这极大地提高了渲染我的树的速度。但是,曾经没有任何子节点(因此没有打开/关闭箭头)的节点现在有一个打开/关闭箭头,就好像它们有孩子一样。如果我单击箭头打开节点,我的应用程序将崩溃。如何使用progressive_render(为了速度),但让我的节点正确识别它们是否有孩子?

  function createNode(node){
    node = {
        "data" : node.name ? node.name : "",
        "attr" : {rel:node.type ? node.type : ""},
        "correct_state" : "closed",
        "children" : node.children ? node.children : []
    };
    return node;
}

谢谢,肖恩

4

1 回答 1

0

我发现这里记录了完全相同的问题:

https://code.google.com/p/jstree/issues/detail?id=940

一种解决方法是让子项默认为 null 而不是空数组,这是一个相当可悲的解决方法,但它确实有效。

于 2013-07-02T15:14:57.630 回答