angular / angular/components

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

Offen
#31,539 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: material/chips P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### 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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die verknüpfte StackBlitz-Reproduktion auszuführen, und untersuche das Verhalten von mat-chip-option, wenn sich das ausgewählte Team ändert, nachdem nach Geschlecht gefiltert wurde. Vergleiche die selected- und disabled-CSS-Klassen während beider Reproduktionsschritte; als erledigt gilt die Aufgabe, wenn die selected-CSS-Klassen angewendet werden, sobald sich die selected-Eigenschaft durch das Filtern ändert, ebenso wie nach dem Klicken auf eine Option.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.