我是洋葱啊 2017-10-24 07:18 采纳率: 0%
浏览 423

想找一个树形结构的插件,一直没找到合适的,求助

图片说明
类似这种效果,右键可以添加子节点,也可以编辑(不只重命名,弹出新的框来编辑其他属性),删除。
目前考虑了jsTree,zTree,FancyTree,现在这个树就是jsTree写的,但是每次编辑完,树不能刷新,刷新整个页面才可以看到刚编辑的的新内容。试了试网上的办法也不能解决,所以想换个插件试试。
小白一枚,求各位大神给点建议,谢谢啦~~

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 02:13
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    我推荐使用FancyTree插件。它提供了您所需要的功能,并且具有良好的性能和稳定性。 以下是一个简单的示例,展示如何在FancyTree中添加、编辑和删除节点:

    import com.fssa.FancyTree;
    import com.fssa.FancyTreeNode;
    
    public class FancyTreeExample {
        public static void main(String[] args) {
            // 创建一个新的FancyTree实例
            FancyTree tree = new FancyTree();
    
            // 添加一些节点
            FancyTreeNode root = new FancyTreeNode("Root");
            FancyTreeNode leftNode = new FancyTreeNode("Left", root);
            FancyTreeNode rightNode = new FancyTreeNode("Right", root);
    
            // 将新节点添加到根节点下
            root.addChild(leftNode);
            root.addChild(rightNode);
    
            // 编辑节点
            FancyTreeNode editedNode = new FancyTreeNode("Edited", root);
            FancyTreeNode editedLeftNode = new FancyTreeNode("Edited Left", editedNode);
            FancyTreeNode editedRightNode = new FancyTreeNode("Edited Right", editedNode);
    
            // 更新节点的文本值
            editedNode.setTextValue("Edited Node");
    
            // 删除节点
            FancyTreeNode deletedNode = new FancyTreeNode("Deleted", root);
            FancyTreeNode deletedLeftNode = new FancyTreeNode("Deleted Left", deletedNode);
            FancyTreeNode deletedRightNode = new FancyTreeNode("Deleted Right", deletedNode);
    
            // 从根节点中移除节点
            tree.removeChild(deletedNode);
    
            // 更新节点
            editedNode.setTextValue("Updated Node");
    
            // 在树上显示所有节点
            tree.showAllNodes();
        }
    }
    

    请注意,上述代码只是一个简化的示例,实际使用时可能需要根据您的具体需求进行调整。此外,如果您想要支持更高级的功能,例如自动重命名、搜索等功能,请查阅FancyTree的官方文档或参考相关资料。

    评论

报告相同问题?