Skip to content

bug(MatTree): padding is not recomputed when moving a node inside/outside an expandable node #29959

Open

Description

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

No response

Description

As TreeControl is deprecated, I started migrating to the latest API using childrenAccessor. So far so good, except for one case not working any more.

I'm using matTreeNodePadding and matTreeNodePaddingIndent on <mat-tree-node>. When I move a node inside/outside of an expandable node, padding is not recomputed as-is.

Expanding/collapsing the parent node in which the node was moved, will recompute its padding though.

Reproduction

Minimal example on Stackblitz.

Steps to reproduce:

  1. Open link
  2. Open preview in a new tab
  3. Open both folders (/ and home)
  4. Follow instructions to move a node outside its parent node

dataSource is updated with a new array, using the same items. Can it be a source of error? Should the entire tree be cloned somehow, to trigger changes detection down to padding computation?

Expected Behavior

When a node is moved inside/outside of an expandable node (level is changed), padding should be recomputed based on the new level of the node.

Actual Behavior

Padding of the node is not updated when moving the node inside/outside of an expandable node.

Environment

  • Angular: 18.2.10
  • CDK/Material: 18.2.11
  • Browser(s): Firefox / Chrome
  • Operating System (e.g. Windows, macOS, Ubuntu): Windows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    P2The issue is important to a large percentage of users, with a workaroundarea: cdk/treearea: material/tree

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions