编辑节点的标题时,额外的节点渲染消失了

Extra node rendering is gone when node's title is edited

renderNode 事件处理程序中,我向 node.span 添加了一个按钮,如下所示:

 renderNode: function (event, data) {
   var node = data.node;
   var buttons = $('<button type="button" title="info" onclick="info(\'' + node.key + '\')" class="infobtn">i</button>');
   $(node.span).append(buttons);
 }

我使用的 Fancytree 启用了 'edit' 扩展。当我编辑节点标题时 - 即使我根本不更改标题 - 定义的按钮也不见了。

有没有办法保留添加的按钮?或者我应该在 'edit' 扩展程序的 save 事件处理程序中再次添加它吗?

filteredit 扩展会重置节点的标记,因此您必须在相应的回调中重新应用您的扩展。

请注意,2.18+ 版将引入一个新的回调 enhanceTitle() 以简化此操作。