angular-tree-component的使用

发布日期:2019-02-27

先上网址吧:https://github.com/500tech/angular-tree-component 这是牛逼哄哄的GitHub页面, http://500tech.github.io/angular-tree-component/ 这就是官网啦。

大背景--首先我是在Angular4下面使用的。

1、install from npm : 

1 npm install --save angular-tree-component

2、导入css

在styles.scss下面导入样式:

1 @import "~angular-tree-component/dist/angular-tree-component.css"

3、import the module

app.module.ts

1 import { TreeModule } from "angular-tree-component"2 3 @NgModule({4 imports: [... TreeModule]5 ...6 })7 export class AppModule {8 ...9 }

 

4、app.component.ts里面

1 nodes = [ 2 { 3 id: 1 4 name: "root1" 5 children: [ 6 { id: 2 name: "child1" } 7 { id: 3 name: "child2" } 8 ] 9 }10 {11 id: 412 name: "root2"13 children: [14 { id: 5 name: "child2.1" }15 {16 id: 617 name: "child2.2"18 children: [19 { id: 7 name: "subsub" }20 ]21 }22 ]23 }24 ]25 options = {}

在 app.component.html里面

1 <tree-root [nodes]="nodes" [options]="options"></tree-root>

到这里编译出来就可以看到一棵树啦

5、是不是感觉也不是很麻烦嫩,这棵树是真的牛掰,为作者手动点赞。

在option里面可以配置一些参数:

显示内容--displayfield:"name"(以显示名称为例)

id--idField: "uuid"(如果没有id,会随机生成id,保证每个节点的唯一性)

是否展开节点:isExpandedField:"expanded"(默认是不展开的哟)

actionMapping:自定义事件,

1 mouse: {2 dblClick: (tree node $event) => {3 if (node.hasChildren) TREE_ACTIONS.TOGGLE_EXPANDED(tree node $event)4 }5 }

支持按需加载: 

1 getChildren: this.getChildren.bind(this)

6、events

1 <tree-root [nodes]="nodes"2 (toggleExpanded)="onEvent($event)"3 (activate)="onEvent($event)"4 (focus)="onEvent($event)"5 (blur)="onEvent($event)">6 </tree-root>7 8 onEvent = ($event) => console.log($event)

有activate状态就有deactivate状态

 

7、在option里面添加:useCheckBox:true可以显示checkBox。这时还可以有一个select事件,获取的是子节点。那如果需要获取父节点怎么处理呢,折腾了老半天之后,最终还是找到了方法。。。。

node.partialSelected 可以获取到根节点哟。

 

1 0 9)