1- import { Component , TemplateRef , ViewChild } from '@angular/core' ;
1+ import { Component , TemplateRef } from '@angular/core' ;
22import {
33 NzDropdownContextComponent ,
44 NzDropdownService ,
55 NzFormatEmitEvent ,
6- NzTreeComponent ,
76 NzTreeNode
87} from 'ng-zorro-antd' ;
98
109@Component ( {
1110 selector : 'nz-demo-tree-directory' ,
1211 template : `
13- <nz-tree #treeCom [nzData]="nodes" (nzClick)="activeNode($event)" (nzDblClick)="openFolder($event)">
12+ <nz-tree
13+ [nzData]="nodes"
14+ (nzClick)="activeNode($event)"
15+ (nzDblClick)="openFolder($event)">
1416 <ng-template #contextTemplate>
1517 <ul nz-menu nzInDropDown>
1618 <li nz-menu-item (click)="selectDropdown()">Action 1</li>
1719 <li nz-menu-item (click)="selectDropdown()">Action 2</li>
1820 </ul>
1921 </ng-template>
2022 <ng-template #nzTreeTemplate let-node>
21- <span class="custom-node" [class.active]="activedNode?.key === node.key">
22- <span *ngIf="!node.isLeaf" (contextmenu)="contextMenu($event, contextTemplate)">
23+ <span class="custom-node" [class.active]="activedNode?.key===node.key">
24+ <span *ngIf="!node.isLeaf" (contextmenu)="contextMenu($event,contextTemplate)">
2325 <i nz-icon [type]="node.isExpanded ? 'folder-open' : 'folder'" (click)="openFolder(node)"></i>
24- <span class="folder-name">{{ node.title }}</span>
25- <span class="folder-desc">created by {{ node?.origin?.author | lowercase }}</span>
26+ <span class="folder-name">{{node.title}}</span>
27+ <span class="folder-desc">created by {{node?.origin?.author | lowercase}}</span>
2628 </span>
27- <span *ngIf="node.isLeaf" (contextmenu)="contextMenu($event, contextTemplate)">
29+ <span *ngIf="node.isLeaf" (contextmenu)="contextMenu($event,contextTemplate)">
2830 <i nz-icon type="file"></i>
29- <span class="file-name">{{ node.title }}</span>
30- <span class="file-desc">modified by {{ node?.origin?.author | lowercase }}</span>
31+ <span class="file-name">{{node.title}}</span>
32+ <span class="file-desc">modified by {{node?.origin?.author | lowercase}}</span>
3133 </span>
3234 </span>
3335 </ng-template>
34- </nz-tree>
35- ` ,
36- styles : [
37- `
38- :host ::ng-deep .ant-tree {
39- overflow: hidden;
40- margin: 0 -24px;
41- padding: 0 24px;
42- }
36+ </nz-tree>` ,
37+ styles : [ `
38+ :host ::ng-deep .ant-tree {
39+ overflow: hidden;
40+ margin: 0 -24px;
41+ padding: 0 24px;
42+ }
4343
44- :host ::ng-deep .ant-tree li {
45- padding: 4px 0 0 0;
46- }
44+ :host ::ng-deep .ant-tree li {
45+ padding: 4px 0 0 0;
46+ }
4747
48- .custom-node {
49- cursor: pointer;
50- line-height: 24px;
51- margin-left: 4px;
52- display: inline-block;
53- margin: 0 -1000px;
54- padding: 0 1000px;
55- }
48+ .custom-node {
49+ cursor: pointer;
50+ line-height: 24px;
51+ margin-left: 4px;
52+ display: inline-block;
53+ margin: 0 -1000px;
54+ padding: 0 1000px;
55+ }
5656
57- .active {
58- background: #1890ff ;
59- color: #fff;
60- }
57+ .active {
58+ background: #1890FF ;
59+ color: #fff;
60+ }
6161
62- .file-name,
63- .folder-name {
64- margin-left: 4px;
65- }
62+ .file-name, .folder-name {
63+ margin-left: 4px;
64+ }
6665
67- .file-desc,
68- .folder-desc {
69- padding: 0 8px;
70- display: inline-block;
71- background: #87ceff;
72- color: #ffffff;
73- position: relative;
74- left: 12px;
75- }
76- `
77- ]
66+ .file-desc, .folder-desc {
67+ padding: 0 8px;
68+ display: inline-block;
69+ background: #87CEFF;
70+ color: #FFFFFF;
71+ position: relative;
72+ left: 12px;
73+ }
74+ ` ]
7875} )
76+
7977export class NzDemoTreeDirectoryComponent {
80- @ViewChild ( 'treeCom' ) treeCom : NzTreeComponent ;
8178 dropdown : NzDropdownContextComponent ;
8279 // actived node
8380 activedNode : NzTreeNode ;
84- nodes = [
85- {
86- title : 'parent 0' ,
87- key : '100' ,
88- author : 'NG ZORRO' ,
89- expanded : true ,
90- children : [
91- { title : 'leaf 0-0' , key : '1000' , author : 'NG ZORRO' , isLeaf : true } ,
92- { title : 'leaf 0-1' , key : '1001' , author : 'NG ZORRO' , isLeaf : true }
93- ]
94- } ,
95- {
96- title : 'parent 1' ,
97- key : '101' ,
98- author : 'NG ZORRO' ,
99- children : [
100- { title : 'leaf 1-0' , key : '1010' , author : 'NG ZORRO' , isLeaf : true } ,
101- { title : 'leaf 1-1' , key : '1011' , author : 'NG ZORRO' , isLeaf : true }
102- ]
103- }
104- ] ;
81+ nodes = [ {
82+ title : 'parent 0' ,
83+ key : '100' ,
84+ author : 'NG ZORRO' ,
85+ expanded : true ,
86+ children : [
87+ { title : 'leaf 0-0' , key : '1000' , author : 'NG ZORRO' , isLeaf : true } ,
88+ { title : 'leaf 0-1' , key : '1001' , author : 'NG ZORRO' , isLeaf : true }
89+ ]
90+ } , {
91+ title : 'parent 1' ,
92+ key : '101' ,
93+ author : 'NG ZORRO' ,
94+ children : [
95+ { title : 'leaf 1-0' , key : '1010' , author : 'NG ZORRO' , isLeaf : true } ,
96+ { title : 'leaf 1-1' , key : '1011' , author : 'NG ZORRO' , isLeaf : true }
97+ ]
98+ } ] ;
10599
106100 openFolder ( data : NzTreeNode | Required < NzFormatEmitEvent > ) : void {
107101 // do something if u want
108102 if ( data instanceof NzTreeNode ) {
109103 data . isExpanded = ! data . isExpanded ;
110104 } else {
111- data . node . isExpanded = ! data . node . isExpanded ;
105+ const node = data . node ;
106+ if ( node ) {
107+ node . isExpanded = ! node . isExpanded ;
108+ }
112109 }
113110 }
114111
@@ -125,5 +122,6 @@ export class NzDemoTreeDirectoryComponent {
125122 // do something
126123 }
127124
128- constructor ( private nzDropdownService : NzDropdownService ) { }
125+ constructor ( private nzDropdownService : NzDropdownService ) {
126+ }
129127}
0 commit comments