动态更改花式树中的图标

时间:2015-03-26 12:40:10

标签: fancytree

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

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

1 个答案:

答案 0 :(得分:5)

以下代码将在延迟加载后遍历所有子节点,并更改子项的图标(如果子项是节点而不是文件夹)。 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();
                }
            }
        }
    });