diff --git a/src/cdk/tree/tree.ts b/src/cdk/tree/tree.ts index 296e124245d2..886a45af9a6a 100644 --- a/src/cdk/tree/tree.ts +++ b/src/cdk/tree/tree.ts @@ -643,11 +643,9 @@ export class CdkTree this.treeControl.expandAll(); } else if (this._expansionModel) { const expansionModel = this._expansionModel; - this._getAllNodes() - .pipe(takeUntil(this._onDestroy)) - .subscribe(children => { - expansionModel.select(...children.map(child => this._getExpansionKey(child))); - }); + expansionModel.select( + ...this._flattenedNodes.value.map(child => this._getExpansionKey(child)), + ); } } @@ -657,11 +655,9 @@ export class CdkTree this.treeControl.collapseAll(); } else if (this._expansionModel) { const expansionModel = this._expansionModel; - this._getAllNodes() - .pipe(takeUntil(this._onDestroy)) - .subscribe(children => { - expansionModel.deselect(...children.map(child => this._getExpansionKey(child))); - }); + expansionModel.deselect( + ...this._flattenedNodes.value.map(child => this._getExpansionKey(child)), + ); } } diff --git a/src/material/tree/testing/tree-harness.spec.ts b/src/material/tree/testing/tree-harness.spec.ts index bbe65e8d2b2e..ce4d8f94646c 100644 --- a/src/material/tree/testing/tree-harness.spec.ts +++ b/src/material/tree/testing/tree-harness.spec.ts @@ -227,7 +227,7 @@ interface ExampleFlatNode { {{node.name}} - + @@ -240,7 +240,7 @@ interface ExampleFlatNode { {{node.name}} - +