bootstrap-table 常用总结-树形结构(展开和折叠)

  今天在工作的时候,遇到了一个需求,就是需要一键展开或者关闭树形结构。关于树形结构的不是很熟悉,然后去百度,结果也不是很准确。最后经过Google才找到。下面分享给大家

直接看代码:

 1         var flag = true;//开启还是关闭的标志位
 2         function change_tree(target){
 3             if(flag){
 4                 //$table.treegrid('getRootNodes').treegrid('expand');
 5                 //$table.treegrid('getParentNode').treegrid('expand');
 6                 $table.treegrid('expandAll');
 7                 flag = !flag;
 8             }else{
 9                 //$table.treegrid('getRootNodes').treegrid('collapse');
10                 //$table.treegrid('getParentNode').treegrid('collapse');
11                 $table.treegrid('collapseAll');
12                 flag = !flag;               
13             }
14         }

上面的是折叠,下面的是展开。有一个标志位,每次执行不同的代码。然后把找到的表格贴在下面,方便大家查阅(侵删)

 常用的配置项,这个表格可以和我上一篇的一起看

参数类型默认值描述
treeColumnNumeric0树中表格中的哪一列
initialStateStringexpanded初始化时树的状态 'expanded' - 所有节点都展开 'collapsed' - 所有节点都折叠
saveStateBooleanfalse如果是true树的再次加载页面的时候树的状态将保存
saveStateMethodStringcookie'cookie' - 保存cookie的状态 'hash' - 保存hash的状态
saveStateNameStringtree-grid-state通过cookie或hash的名字来保存状态
expanderTemplateString<span class="treegrid-expander"></span>点击HTML元素时将折叠或展开分支
expanderExpandedClassStringtreegrid-expander-expanded当它展开的时候可以使用扩展元素
expanderCollapsedClassStringtreegrid-expander-collapsed当它折叠的时候可以使用扩展元素
indentTemplateString<span class="treegrid-indent"></span>HTML元素将根据深度嵌套节点做填充

然后下面是重头戏了,就是我们常用到的一些方法,都是有分封装的。大家可以自行取用

方法名称描述示例
getRootNodes返回树的根节点

// Expand all root nodes

$('.tree').treegrid('getRootNodes').treegrid('expand');

getNodeId返回节点的id

if($('#node-2').treegrid('getNodeId')===2){   // Do something with node 2 };
getParentNodeId返回父节点的id或如果节点是根就返回nullif($('#node-2').treegrid('getParentNodeId')===2){   // Do something if parent node Id is 2 };
getAllNodes返回树的所有节点// Find all nodes   $('#tree-1').treegrid('getAllNodes').each(function() {     if ($(this).treegrid("isLast")) {       //Do something with all last nodes     }   });
getParentNode返回父节点或如果节点是根就返回null// Expand parent node $('#node-2').treegrid('getParentNode').treegrid('collapse');
getChildNodes返回节点的子节点或如果节点是叶子节点则返回null// Expand child nodes $('#node-2').treegrid('getChildNodes').treegrid('expand');
getDepth返回树嵌套分支的深度// Expand all nodes 2nd nesting $('.tree').find('tr').each(function(){   if ($(this).treegrid('getDepth')<2){$(this).treegrid('expand');   } });
isNode如果元素是节点则返回true$('#tree-1').find('tr').each(function() {     if ($(this).treegrid("isNode")) {       //Do something     }   });
isLeaf该节点有叶子吗// hide all files $('.tree').find('tr').each(function(){   if ($(this).treegrid('isLeaf')){$(this).hide();   } });
isLast如果节点在最后,则返回true// hide all last elements $('.tree').find('tr').each(function(){   if ($(this).treegrid('isLast')){$(this).hide();   } });
isFirst如果节点在第一个,则返回true// hide all last elements $('.tree').find('tr').each(function(){   if ($(this).treegrid('isFirst')){$(this).hide();   } });
isExpanded节点是展开的吗if($('#node-2').treegrid('isExpanded')){   // Do something if node expanded };
isCollapsed节点是折叠的吗if($('#node-2').treegrid('isCollapsed')){   // Do something if node collapsed };
isOneOfParentsCollapsed至少一个节点是折叠的吗 if($('#node-2').treegrid('isOneOfParentCollapsed')){   // Do something if one of parent collapsed };
expand展开节点$('#node-2').treegrid('expand');
collapse折叠节点$('#node-2').treegrid('collapse');
expandRecursive节点递归展开$('#node-2').treegrid('expandRecursive');
collapseRecursive节点递归折叠$('#node-2').treegrid('collapseRecursive');
expandAll展开所有节点$('#tree').treegrid('expandAll');
collapseAll折叠所有节点$('#tree').treegrid('collapseAll');
toggle当处于展开状态的时候将节点折叠 当处于折叠状态的时候将节点展开$('#node-2').treegrid('toggle');
render重绘节点及其子节点$('#node-2').treegrid('render');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值