这篇文章主要介绍了angular-tree-component的使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
先上网址吧:https://github.com/500tech/angular-tree-component 这是牛逼哄哄的GitHub页面, http://500tech.github.io/angular-tree-component/ 这就是官网啦。
大背景--首先我是在Angular4下面使用的。
1、install from npm :
npm install --save angular-tree-component
2、导入css
在styles.scss下面导入样式:
@import '~angular-tree-component/dist/angular-tree-component.css';
3、import the module
app.module.ts
import { TreeModule } from 'angular-tree-component';
@NgModule({
imports: [..., TreeModule],
...
})
export class AppModule {
...
}
4、app.component.ts里面
nodes = [
{
id: 1,
name: 'root1',
children: [
{ id: 2, name: 'child1' },
{ id: 3, name: 'child2' }
]
},
{
id: 4,
name: 'root2',
children: [
{ id: 5, name: 'child2.1' },
{
id: 6,
name: 'child2.2',
children: [
{ id: 7, name: 'subsub' }
]
}
]
}
];
options = {};
在 app.component.html里面
<tree-root [nodes]="nodes" [options]="options"></tree-root>
到这里编译出来就可以看到一棵树啦
5、是不是感觉也不是很麻烦嫩,这棵树是真的牛掰,为作者手动点赞。
在option里面可以配置一些参数:
显示内容--displayfield:'name'(以显示名称为例)
id--idField: 'uuid'(如果没有id,会随机生成id,保证每个节点的唯一性)
是否展开节点:isExpandedField:'expanded'(默认是不展开的哟)
actionMapping:自定义事件,
mouse: {
dblClick: (tree, node, $event) => {
if (node.hasChildren) TREE_ACTIONS.TOGGLE_EXPANDED(tree, node, $event);
}
}
支持按需加载:
getChildren: this.getChildren.bind(this),
6、events
<tree-root [nodes]="nodes"
(toggleExpanded)="onEvent($event)"
(activate)="onEvent($event)"
(focus)="onEvent($event)"
(blur)="onEvent($event)">
</tree-root>
onEvent = ($event) => console.log($event);
有activate状态就有deactivate状态
7、在option里面添加:useCheckBox:true可以显示checkBox。这时还可以有一个select事件,获取的是子节点。那如果需要获取父节点怎么处理呢,折腾了老半天之后,最终还是找到了方法。。。。
node.partialSelected 可以获取到根节点哟。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。 |