Skip to content

bug(MatTree): expandAll() only expand the first level #29865

Closed
@robmv

Description

@robmv

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

17.x

Description

The method expandAll() of MatTree expands only the first level of a deeply nested tree. On deprecated MatTreeControl, the same method was able to expand the entire tree without problems.

Note: the deprecated control had an advantage that the expansion state could be manipulated before even the view was initialized, but that is another topic.

WORKAROUND:

this.dataSource.forEach(node => this.tree.expandDescendants(node));

Reproduction

StackBlitz link:

Steps to reproduce:

  1. Open the demos.
  2. The tree is partially expanded
  3. Edit the demo and enable the workaround on the ngAfterViewInit callback.
  4. The tree is now fully expanded.

Expected Behavior

MatTree's expandAll() should expand all nodes.

Actual Behavior

Only the first level nodes are expanded.

Environment

  • Angular: 18.2.8
  • CDK/Material: 18.2.8
  • Browser(s): Firefox, Chromium
  • Operating System (e.g. Windows, macOS, Ubuntu): Linux (Fedora)

Metadata

Metadata

Assignees

Labels

P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/tree

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions