bug(chip): chip selection state does not match [selected] v19.1.1
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
### Is this a regression?
- [x] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
19.1.0
### Description
I have a component with selectable stacked chips with drag drop to rearrange/toggle columns of my table.
after 19.1.1 update moving deselected chip changes the selection of other chips not respecting the [selected] in mat-chip-option
### Reproduction
I have create a minimal reproduction of the issue
https://github.com/Siddhu-K/chip-drag
toggle chips and drag drop.
```
@for (i of chip_list(); track i; let index = $index) {
{{ index + 1 + ". " + i.name + " - " + i.selected }}
}
```
### Expected Behavior
actual selection should match [selected] in the mat-chip-option
### Actual Behavior
actual selection does not match [selected] in the mat-chip-option
### Environment
Angular CLI: 19.1.8
Node: 22.13.0
Package Manager: npm 11.1.0
OS: win32 x64
Angular: 19.1.7
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1901.8
@angular-devkit/build-angular 19.1.8
@angular-devkit/core 19.1.8
@angular-devkit/schematics 19.1.8
@angular/cdk 19.1.5
@angular/cli 19.1.8
@angular/material 19.1.5
@schematics/angular 19.1.8
rxjs 7.8.1
typescript 5.7.3
zone.js 0.15.0
Contributor guide
Research direction
Start with the linked minimal reproduction at github.com/Siddhu-K/chip-drag and reproduce the issue by toggling chips, then dragging a deselected chip. Trace the interaction between mat-chip-listbox, mat-chip-option [selected], and cdkDropList. Done means the rendered selection remains consistent with each chip's selected value after rearranging.
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