diff --git a/components/tree-view/node.ts b/components/tree-view/node.ts index 5332b075a7..b2837faed2 100644 --- a/components/tree-view/node.ts +++ b/components/tree-view/node.ts @@ -170,7 +170,7 @@ export class NzTreeVirtualScrollNodeOutletDirective implements OnChanges { return true; } } - return false; + return ctxChange.previousValue?.data !== ctxChange.currentValue?.data; } return true; } diff --git a/components/tree-view/tree-virtual-scroll-view.ts b/components/tree-view/tree-virtual-scroll-view.ts index 2652b76923..723cd23481 100644 --- a/components/tree-view/tree-virtual-scroll-view.ts +++ b/components/tree-view/tree-virtual-scroll-view.ts @@ -65,10 +65,12 @@ export class NzTreeVirtualScrollViewComponent extends NzTreeView implement innerTrackBy: TrackByFunction> = i => i; ngOnChanges(changes: SimpleChanges): void { - if (changes.trackBy && typeof changes.trackBy.currentValue === 'function') { - this.innerTrackBy = (index: number, n) => this.trackBy(index, n.data); - } else { - this.innerTrackBy = i => i; + if (changes.trackBy) { + if (typeof changes.trackBy.currentValue === 'function') { + this.innerTrackBy = (index: number, n) => this.trackBy(index, n.data); + } else { + this.innerTrackBy = i => i; + } } }