Description
Description
This is an intentional duplicate of #19279, because it's been closed with a workaround that no longer works with the new Angular Material components (v15+).
The workaround was to set matChipInputAddOnBlur
to false
and handle the (blur)
event on our own while ignoring the one that is related (relatedTarget
) to mat-option
element, however, now, clicking the mat-option
will fire the FocusEvent
with relatedTarget: null
.
My updated (and working) workaround looks like this:
addOnBlur(event: FocusEvent) {
const target: HTMLElement = event.relatedTarget as HTMLElement;
if (!target) {
return;
}
this.addCustomChip(this.itemInput.nativeElement.value); // or manually create MatChipInputEvent etc...
}
However, the original issue is still there and it shouldn't require any workaround in the first place.
Reproduction
https://stackblitz.com/edit/angular-rd38q1-b74xmz?file=src%2Fapp%2Fchips-autocomplete-example.ts,package.json,src%2Fapp%2Fchips-autocomplete-example.html,src%2Fmain.ts
Expected Behavior
Only the selected option should become a chip
Actual Behavior
The input text also becomes a chip
Environment
- Angular: v15+
- CDK/Material: v15+
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Windows