angular / angular/components

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

Open
#31,539 1 comment 0 reactions 0 assignees View on GitHub
area: material/chips P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

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

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

Contributor guide

Open the contributing guide

Research direction

Start by running the linked StackBlitz reproduction and inspect the mat-chip-option behavior when the selected team changes after filtering by gender. Compare the selected and disabled CSS classes during both reproduction steps; done means the selected CSS classes are applied when the selected property changes through filtering, as well as after clicking an option.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.