4

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

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

4

1 回答 1

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();
                }
            }
        }
    });
于 2015-04-21T06:49:54.480 回答