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

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

直接看代码:html

 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         }

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

 经常使用的配置项,这个表格能够和我上一篇的一块儿看node

参数 类型 默认值 描述
treeColumn Numeric 0 树中表格中的哪一列
initialState String expanded 初始化时树的状态
'expanded' - 全部节点都展开
'collapsed' - 全部节点都折叠
saveState Boolean false 若是是true树的再次加载页面的时候树的状态将保存
saveStateMethod String cookie 'cookie' - 保存cookie的状态
'hash' - 保存hash的状态
saveStateName String tree-grid-state 经过cookie或hash的名字来保存状态
expanderTemplate String <span class="treegrid-expander"></span> 点击HTML元素时将折叠或展开分支
expanderExpandedClass String treegrid-expander-expanded 当它展开的时候能够使用扩展元素
expanderCollapsedClass String treegrid-expander-collapsed 当它折叠的时候能够使用扩展元素
indentTemplate String <span class="treegrid-indent"></span> HTML元素将根据深度嵌套节点作填充

而后下面是重头戏了,就是咱们经常使用到的一些方法,都是有分封装的。你们能够自行取用cookie

 

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

// Expand all root nodeside

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

getNodeId 返回节点的id
 if($('#node-2').treegrid('getNodeId')===2){
  // Do something with node 2
};
getParentNodeId 返回父节点的id或若是节点是根就返回null if($('#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');
相关文章
相关标签/搜索