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的入口*/}  

看图比较直观

附上代码:
addNode: $.proxy(this.addNode, this),

第二步:添加Tree的prototype方法
  /**
        给节点添加子节点
	@param {Object|Number} identifiers - A valid node, node id or array of node identifiers
	@param {optional Object} options.node;
    */
	Tree.prototype.addNode = function (identifiers, options) {
         
	    this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
	        this.setAddNode(node, options); 
	    }, this));

	    this.setInitialStates({ nodes: this.tree }, 0);
	    this.render();
	}

    /**
    *  添加子节点
    */
	Tree.prototype.setAddNode = function (node, options) {
	    if (node.nodes == null) node.nodes = [];
	    if (options.node) {
	        node.nodes.push(options.node);
           };
	};
看图:



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


$("#Treeview01").treeview("addNode", [2, { node: { text: "新加的菜单", href: "001005" } }]);
注意 $("#Treeview01")使用data已初始化过的

-------咦地瓜 原创----




  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
Bootstrap TreeviewBootstrap 分栏可以很容易地结合使用,以创建一个具有多级层次结构的导航菜单。 下面是一个简单的示例: ```html <div class="container"> <div class="row"> <div class="col-md-4"> <div id="treeview"></div> </div> <div class="col-md-8"> <h1>Content</h1> </div> </div> </div> ``` 在这个示例中,我们使用了 Bootstrap 的分栏组件来创建一个两列布局。左侧列占据了 4 个网格,右侧列占据了 8 个网格。 左侧列中的 div 元素使用了 id="treeview" 属性,这是我们将要使用 Bootstrap Treeview 插件渲染的容器。 接下来,我们需要引入 BootstrapBootstrap Treeview 的 CSS 和 JavaScript 文件,并在 JavaScript 中初始化 Treeview 插件: ```html <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.css"> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.js"></script> <script> $(function() { var data = [ { text: 'Parent 1', nodes: [ { text: 'Child 1', nodes: [ { text: 'Grandchild 1' }, { text: 'Grandchild 2' } ] }, { text: 'Child 2' } ] }, { text: 'Parent 2' }, { text: 'Parent 3' } ]; $('#treeview').treeview({data: data}); }); </script> ``` 在这个示例中,我们创建了一个包含多级层次结构的数据对象,并将其传递给 Treeview 插件的 data 选项。 最后,我们在 JavaScript 中使用 $('#treeview').treeview({data: data}) 方法Treeview 插件应用于 id="treeview" 的 div 元素。 这样,我们就可以在左侧列中创建一个具有多级层次结构的导航菜单,而右侧列中可以放置任何内容,例如显示所选菜单项的详细信息、表单等等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值