Skip to content

[Zoneless] Tree parent checkbox does not update after removing an unselected child #17444

Description

@viktorkombov

Description

In a zoneless Angular application, an igx-tree using cascading selection can
render a stale parent checkbox after one of its children is removed at runtime.

When the parent has one selected child and one unselected child, removing the
unselected child makes all remaining children selected. The Tree correctly
updates the parent node model to selected = true, but the rendered parent
checkbox remains unchecked.

Framework

Angular

Angular Version

22.0.x

Ignite UI for Angular Version

22.1.x

Component / Area

Tree

Browser

Chrome

Operating System

No response

Command Not Working

Steps to Reproduce

  1. Open the provided reproduction sample. - zoneless-tree-repro.zip
  2. The sample uses zoneless change detection and contains an igx-tree with
    cascading selection enabled.
  3. The scenario starts automatically. Alternatively, click Run scenario
    to execute it again.
  4. The first child is selected through a template-read signal. The second child
    remains unselected.
  5. Another signal used by an @if expression removes the unselected child.
  6. Observe the parent node model and its rendered checkbox.

Actual Result

After the unselected child is removed, the parent node model becomes selected,
but its checkbox remains unchecked:

parentSelected=true
checkboxChecked=false

The Tree model and rendered selection state are inconsistent even though the
application updates both states through signals.

Expected Result

After the unselected child is removed, the parent node should become selected
and its rendered checkbox should be checked.

Reproduction URL

No response

Attachments

zoneless-tree-repro.zip

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions