Skip to content

bug(mat-chip-option): selected CSS classes are not applied in a specific case #31539

@FabienCH

Description

@FabienCH

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

When the selected property changes, there is a case where the selected CSS classes are not applied.

I have an application where we have a list of selectable teams and the possibility to filter them by gender (male or female). By default the 1st team is selected. On this app, we also want the selected team to be changed to the first matching the current filter if the currently selected team does not match the filter.

To illustrate the bug and show that the property that is passed to the mat-chip-option is indeed updated I have also set the disabled attribute with the same property as selected to show that this one works properly.

Reproduction

StackBlitz link: https://stackblitz.com/~/github.com/FabienCH/mat-chip-option-selected

  • When changing the gender filter (unselect male) without changing the selected team, the selected CSS classes are applied to the selected team (team 1 female).
  • When changing the selected team by clicking on an option the selected CSS classes are applied.

Steps to reproduce:

  1. Change the selected team by clicking on an option (click on a male team for example)
  2. Change the gender filter (unselect male) => the selected CSS classes are not applied

You can see that the selected property of the option is true and the disabled CCS classes are applied

Expected Behavior

The selected CSS classes should be applied.

Actual Behavior

The selected CSS classes are not applied.

Environment

  • Angular: 20.1
  • CDK/Material: 20.1

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions