bootstrap-treeview 扩展addNode方法 动态添加子节点的方法

bootstrap-treeview  是一款基于Jquery+bootstrap的树控件。

(本文只是详细说明对bootstrap-treeview添加子节点的扩展方法(addNode),如了解bootstrap-treeview所有用法请看官方API)

官方api  https://www.npmjs.com/package/bootstrap-treeview   (点击新窗口打开)


 使用过程中,需要动态添加子节点。发现api中没有此功能。找了很多资料也没有发现有相关的方法。

又不想放弃使用它,看来只能自己写的。先读他们的源代码,看他们的逻辑关系,然后就下手自己写一下。不多说,直接上代码


第一步:在Tree主函数return {/*在这里添加addNode的入口*/}  

看图比较直观

附上代码:
 
 
[javascript] view plain copy
  1. addNode: $.proxy(this.addNode, this),  

第二步:添加Tree的prototype方法
 
 
[javascript] view plain copy
  1.  /** 
  2.        给节点添加子节点 
  3. @param {Object|Number} identifiers - A valid node, node id or array of node identifiers 
  4. @param {optional Object} options.node; 
  5.    */  
  6. Tree.prototype.addNode = function (identifiers, options) {  
  7.           
  8.     this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {  
  9.         this.setAddNode(node, options);   
  10.     }, this));  
  11.   
  12.     this.setInitialStates({ nodes: this.tree }, 0);  
  13.     this.render();  
  14. }  
  15.   
  16.    /** 
  17.    *  添加子节点 
  18.    */  
  19. Tree.prototype.setAddNode = function (node, options) {  
  20.     if (node.nodes == null) node.nodes = [];  
  21.     if (options.node) {  
  22.         node.nodes.push(options.node);  
  23.           };  
  24. };  
看图:



第三步:就是如何使用了。



  
  
[javascript] view plain copy
  1. $("#Treeview01").treeview("addNode", [2, { node: { text: "新加的菜单", href: "001005" } }]);  
注意 $("#Treeview01")使用data已初始化过的
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值