【问题标题】:Change the way JSTree identifies leaf nodes改变 JSTree 识别叶子节点的方式
【发布时间】:2016-03-21 14:30:34
【问题描述】:

我想改变 JSTree 识别叶子节点的方式。今天,它检查节点的 children 属性以查看它是布尔值 true 还是具有至少一个子节点的数组。 Reference

我想创建一个名为 isLeaf 的节点属性,以便 jsTree 了解该节点可打开以用于子树的 AJAX 加载。

我尝试覆盖默认的is_parent 方法,如下所示:

$.jstree.core.prototype.is_parent = function(node) {
    return !node.original.isLeaf;
};

但由于某种原因,并非所有树节点都调用此方法。

我正在使用ngJsTree

有谁知道我怎样才能实现这种行为?

【问题讨论】:

    标签: angularjs jstree


    【解决方案1】:

    我设法通过迭代 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]);
        }
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多