JSTree 添加新的父节点或子节点

JSTree add a new parent or sub child node

我们正在尝试使用以下详细信息添加新节点:

我的 jstree 是这样创建的:

$('#m_tree_3').jstree({
                      'plugins': ["wholerow", "checkbox", "types"],
                      'core': {
                              "themes" : {
                                      "responsive": true
                              },       
                              'data': $('#m_tree_3').data('treedata'). //--------------->>>>this is a tag where i have my data, i am taking data from here
                      },
                      "types" : {
                              "default" : {
                                      "icon" : "fa fa-folder m--font-warning"
                              },
                              "file" : {
                                      "icon" : "fa fa-file   m--font-warning"
                              }
                      },
              });


$('#m_tree_3').jstree().create_node([null, "New Node", "first", function(){ 
            alert("Dene");
        }, true]);

这是它在我的 HTML 中的样子:

<div id="m_tree_3" class="" data-treedata="{{ json_encode($categories) }}"></div>
<div class="output_value"></div>

我正在尝试,但未创建节点。

这里要注意两件重要的事情,

一个是jsTree documentation中的[]字符有点误导。他们没有描述数组文字,只是所有输入都是 optional.

此外,重要的是不要忘记 jsTree core 设置中的 check_callback 参数。

因此固定代码为:

$('#m_tree_3').jstree({
     'plugins': ["wholerow", "checkbox", "types"],
     'core': {
          "check_callback": true
          "themes" : {
              "responsive": true
           },       
           'data': $('#m_tree_3').data('treedata').
     },
     "types" : {
           "default" : {
               "icon" : "fa fa-folder m--font-warning"
           },
           "file" : {
              "icon" : "fa fa-file   m--font-warning"
           }
     },  
});

并附加额外的父节点:

$("#m_tree_3").jstree('create_node', null , {"text":"GO somewhere","slug":"hhhhhhhhh","id":2387}, 'last', function() { 
     alert("added"); 
});