我正在尝试将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
。
在打印树值的最后一行,控制台中出现以下行:
据我了解,这意味着该树已被成功初始化和设置,但仍未显示在网页上。任何输入将不胜感激。谢谢。
答案 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'
]
}
]
} });