angular / angular/components

feat(autocomplete): allow configuring requireSelection blur behavior without resetting value to null

Offen
#32,953 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: material/autocomplete feature P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### Feature Description

Please add a configurable option such as preserving the previous selection on blur, so that `requireSelection` does not have to emit `null` unless the application explicitly wants that behavior.

Related issues:
- #27767: `requireSelection` clears input on blur
- #28590: `[requireSelection]="true"` breaks `valueChanges`

### Use Case

In our case, we manually restore the previous selected value when Angular resets the control to `null`.

That workaround causes multiple `valueChanges` emissions for a single user interaction: first `null`, then the previously selected value after we restore it. This is noisy, annoying to handle, and not reliably distinguishable from a real clear action triggered by the user.

We want to detect an actual clear action separately from the case where the user only focuses the input, opens the autocomplete panel, and then blurs without selecting a new option. A configurable behavior here would prevent unnecessary state changes and extra reactive form events.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by tracing the Angular autocomplete requireSelection blur behavior and how it emits valueChanges when the panel closes. Read related issues #27767 and #28590 for existing constraints. Done means applications can configure whether blur preserves the previous selection or emits null, while an explicit clear remains distinguishable.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
frontend
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

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