JSTree未显示在容器中

时间:2018-06-19 14:40:01

标签: javascript html jstree

我正在尝试将JSTree结构合并到我的javascript项目中;但是,该树似乎未在其父container中显示/渲染。这是我用来显示树的代码:

let tree=this.tree_div.find('#treeDiv');
    tree.jstree(
        {
            "json_data": 
            {
                "data": [
                    {
                        "data": "First",
                        "children": [{"data": "First"},{"data":"Second"},{"data": "Third"}]
                    },
                    {
                        "data": "Second",
                        "children": [{"data":"First"},{"data":"Second"},{"data": "Third"}]
                    },
                    {
                        "data": "Third",
                        "children": []
                    }

                ],
            },
            "plugins": ["checkbox","themes", "html_data", "ui"]

        }
    ).bind("select_node.jstree", function(e, data){});
    console.log(tree[0]);

在此示例中,#treeDiv是父div所包含的container

在打印树值的最后一行,控制台中出现以下行:

enter image description here

据我了解,这意味着该树已被成功初始化和设置,但仍未显示在网页上。任何输入将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

这里最合理的解释是,您正在使用较旧的jsTree API初始化树,而使用较新的jsTree库。

  

旧的JSON API:https://old.jstree.com/documentation/json_data

     

新的JSON API:https://www.jstree.com/docs/json/

较新的API具有用于填充树的不同对象结构。某些功能和事件保持不变,但是包括配置对象在内的许多其他事情已更改。

myTree.jstree({ 'core' : {
    'data' : [
       'Simple root node',
       {
         'text' : 'Root node 2',
         'state' : {
           'opened' : true,
           'selected' : true
         },
         'children' : [
           { 'text' : 'Child 1' },
           'Child 2'
         ]
      }
    ]
} });