动态更改花式树中的图标

Dynamically change icon in fancy tree

我正在使用花式树查看器。 https://github.com/mar10/fancytree

如何根据事件动态更改节点的图标。

下面的代码将在延迟加载后循环遍历所有子节点,并更改子节点的图标(如果子节点是节点而不是文件夹)。 renderTitle() 在这里很重要,因为它告诉要重绘的节点并显示新图标。这可以应用于任何其他事件类型。

    $("#tree").fancytree({
        source: {
            url: "/your/source/url"
        },
        lazyLoad: function(event, data) {
            data.result = {
                url: "/your/lazyload/url"
            };
        },
        loadChildren: function(event, data) {
            var children = data.node.getChildren();

            for (var i = 0; i < children.length; i++) {
                if (!children[i].isFolder()) {
                    children[i].data.icon = "/your/icon.png";
                    children[i].renderTitle();
                }
            }
        }
    });