From 4484674e212f67dea3aad8b56f27e9de61e6d21e Mon Sep 17 00:00:00 2001 From: plakyda-codefresh Date: Thu, 13 Jan 2022 13:18:46 +0200 Subject: [PATCH] fix(module:tree-view): fix innerTrackBy function (#7150) close #7118 Co-authored-by: viktorplakida --- components/tree-view/node.ts | 2 +- components/tree-view/tree-virtual-scroll-view.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) 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; + } } }