Javascript 具有静态节点和动态加载节点的JsTree
我有一个jsTree,当节点被扩展时,它会动态加载节点。这是树的init方法Javascript 具有静态节点和动态加载节点的JsTree,javascript,jquery,jstree,Javascript,Jquery,Jstree,我有一个jsTree,当节点被扩展时,它会动态加载节点。这是树的init方法 function initializeTree(treeSelector, fnId,callback) { treeSelector.jstree({ plugins: ["types", "wholerow"], core: { animation: false, multiple: false, themes: { dots: false }, data: {
function initializeTree(treeSelector, fnId,callback) {
treeSelector.jstree({
plugins: ["types", "wholerow"],
core: {
animation: false,
multiple: false,
themes: {
dots: false
},
data: {
url: userlogicServlet,
data: function (node) {
return {cmd: 'getTreeNode', oid: node.id, fnId: fnId};
}
}
}
}).on("ready.jstree", function () {
callback(treeSelector);
});
}
_addVariableToTree: function (tree) {
var variableNode = {"id": "addVariableNode", "text": "Add Variable", "type": "Add"};
tree.jstree().create_node( '#', variableNode, "first");
}
另外,我想在树的根上添加两个静态节点。由于它们可以变化,我想给出一个函数,它将静态节点添加为回调。一旦树触发“就绪”,回调就会执行。表示加载了第一级数据(我相信在触发“ready”事件时会出现这种情况)
这是可能的回调方法之一,应该在树的顶部添加一个新节点
function initializeTree(treeSelector, fnId,callback) {
treeSelector.jstree({
plugins: ["types", "wholerow"],
core: {
animation: false,
multiple: false,
themes: {
dots: false
},
data: {
url: userlogicServlet,
data: function (node) {
return {cmd: 'getTreeNode', oid: node.id, fnId: fnId};
}
}
}
}).on("ready.jstree", function () {
callback(treeSelector);
});
}
_addVariableToTree: function (tree) {
var variableNode = {"id": "addVariableNode", "text": "Add Variable", "type": "Add"};
tree.jstree().create_node( '#', variableNode, "first");
}
在jstree文档之后,这应该可以工作。你可以假设它没有
加载动态数据,执行回调,但没有添加节点“addvariable”。同样,也没有例外
有没有人有什么想法或假设,这里可能有什么问题
更新:
我刚和这个小提琴手试了一下
这似乎有效
在我的例子中,是否真的在加载第一个动态数据之前添加了静态节点,并且在接收到第一个级别时,它会再次被清除?对于那个小提琴手,我发现了我的错误 我没有为树设置
check\u callback:true
选项。
有了那个小提琴手,我发现了我的错误 我没有为树设置
check\u callback:true
选项。
有了这些,它就如预期的那样工作了