在 fancytree 中使用自定义 svg 图标

Use custom svg icon in fancytree

如何在 fancytree 中显示我的 SVG 图标?我正在做类似以下的事情:

$("#tree").fancytree({
        activeVisible: true,
        checkbox: true,
        selectMode: 3,
        source: {
            url: "/category/GetCategories",
        },
        lazyLoad: function (event, data) {
            data.result = {
                url: "/category/SubCategories/" + data.node.key
            }
        },
        loadChildren: function (event, data) {
            if (data.node.isSelected()) {
                data.node.visit(function (subNode) {
                // Load all lazy/unloaded child nodes
                // (which will trigger `loadChildren` recursively)
               // subNode.setExpanded();
                if (subNode.isUndefined() && subNode.isExpanded()) {
                    subNode.load();
                }
            });
            }
        },
        postProcess: function (event, data) {
            data.result = data.response.map((v) => { return { title: v.name, selected: v.isShared, key: v.id, lazy: v.hasChildren, folder: true, icon: { html: v.icon } }; });
        }
})

v.icon 我得到一个 svg 图标。 如果我定义 postProcess 如下

postProcess: function (event, data) {
            data.result = data.response.map((v) => { return { title: v.name, selected: v.isShared, key: v.id, lazy: v.hasChildren, folder: true, icon: v.icon }; });
        }

它将 imgsrc 的值设置为 svg 元素。如何显示 svg 图标而不是 img 标签?

通过如下设置 postProcess 回调解决了这个问题:

postProcess: function (event, data) {
            data.result = data.response.map((v) => {
                return {
                    ...
                    icon: { text: v.icon } || true,
                    ...
                }
            });
        },