@@ -162,6 +162,13 @@ export class NzTreeComponent implements OnInit, OnDestroy, ControlValueAccessor,
162162 return this . _searchValue ;
163163 }
164164
165+ /**
166+ * To render nodes if root is changed
167+ */
168+ get nzNodes ( ) : NzTreeNode [ ] {
169+ return this . nzTreeService . rootNodes ;
170+ }
171+
165172 // model bind
166173 @Output ( ) readonly nzExpandedKeysChange : EventEmitter < string [ ] > = new EventEmitter < string [ ] > ( ) ;
167174 @Output ( ) readonly nzSelectedKeysChange : EventEmitter < string [ ] > = new EventEmitter < string [ ] > ( ) ;
@@ -192,7 +199,6 @@ export class NzTreeComponent implements OnInit, OnDestroy, ControlValueAccessor,
192199 _nzMultiple : boolean = false ;
193200 nzDefaultSubject = new ReplaySubject < { type : string ; keys : string [ ] } > ( 6 ) ;
194201 destroy$ = new Subject ( ) ;
195- nzNodes : NzTreeNode [ ] = [ ] ;
196202 prefixCls = 'ant-tree' ;
197203 classMap = { } ;
198204
@@ -266,19 +272,20 @@ export class NzTreeComponent implements OnInit, OnDestroy, ControlValueAccessor,
266272
267273 // tslint:disable-next-line:no-any
268274 initNzData ( value : any [ ] ) : void {
275+ let nzNodes : NzTreeNode [ ] = [ ] ;
269276 if ( Array . isArray ( value ) ) {
270277 if ( ! this . nzTreeService . isArrayOfNzTreeNode ( value ) ) {
271278 // has not been new NzTreeNode
272- this . nzNodes = value . map ( item => new NzTreeNode ( item , null , this . nzTreeService ) ) ;
279+ nzNodes = value . map ( item => new NzTreeNode ( item , null , this . nzTreeService ) ) ;
273280 } else {
274- this . nzNodes = value . map ( ( item : NzTreeNode ) => {
281+ nzNodes = value . map ( ( item : NzTreeNode ) => {
275282 item . service = this . nzTreeService ;
276283 return item ;
277284 } ) ;
278285 }
279286 this . nzTreeService . isCheckStrictly = this . nzCheckStrictly ;
280287 this . nzTreeService . isMultiple = this . nzMultiple ;
281- this . nzTreeService . initTree ( this . nzNodes ) ;
288+ this . nzTreeService . initTree ( nzNodes ) ;
282289 }
283290 }
284291
0 commit comments