改变 JSTree 识别叶节点的方式
Change the way JSTree identifies leaf nodes
我想更改 JSTree 识别叶节点的方式。今天,它检查节点的子节点 属性 以查看它是否为布尔值 true 或具有至少一个子节点的数组。 Reference
我想创建一个名为 isLeaf 的节点 属性,这样 jsTree 就会知道该节点可以打开以 AJAX 加载子树。
我试图覆盖默认的 is_parent 方法,如下所示:
$.jstree.core.prototype.is_parent = function(node) {
return !node.original.isLeaf;
};
但由于某些原因,并未为所有树节点调用此方法。
我正在使用 ngJsTree
有谁知道我怎样才能实现这种行为?
我设法通过迭代 AJAX 响应并将没有子节点的每个节点更改为 children = true 来处理它。
success : function(nodeRoot) {
var validateChildrenArray = function(node) {
if (!node.children || node.children.length === 0) {
node.children = true;
}
else {
for (var i = 0; i < node.children.length; i++) {
validateChildrenArray(node.children[i]);
}
}
};
for (var i = 0; i < nodeRoot.length; i++) {
validateChildrenArray(nodeRoot[i]);
}
}
等待更好的解决方案...
我想更改 JSTree 识别叶节点的方式。今天,它检查节点的子节点 属性 以查看它是否为布尔值 true 或具有至少一个子节点的数组。 Reference
我想创建一个名为 isLeaf 的节点 属性,这样 jsTree 就会知道该节点可以打开以 AJAX 加载子树。
我试图覆盖默认的 is_parent 方法,如下所示:
$.jstree.core.prototype.is_parent = function(node) {
return !node.original.isLeaf;
};
但由于某些原因,并未为所有树节点调用此方法。
我正在使用 ngJsTree
有谁知道我怎样才能实现这种行为?
我设法通过迭代 AJAX 响应并将没有子节点的每个节点更改为 children = true 来处理它。
success : function(nodeRoot) {
var validateChildrenArray = function(node) {
if (!node.children || node.children.length === 0) {
node.children = true;
}
else {
for (var i = 0; i < node.children.length; i++) {
validateChildrenArray(node.children[i]);
}
}
};
for (var i = 0; i < nodeRoot.length; i++) {
validateChildrenArray(nodeRoot[i]);
}
}
等待更好的解决方案...