改变 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]);
    }
}

等待更好的解决方案...