bug(MatFormFieldControl, MatInput): enable empty value for element attributes
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 56/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- angular, typescript
- Bereich
- frontend
Rechercherichtung
Beginne mit der StackBlitz-Reproduktion und prüfe die TypeScript-Deklarationen für MatInput sowie die in diesem Issue genannten Implementierungen von MatFormFieldControl. Bestätige das Verhalten für leeren placeholder, maxlength, required und verwandte Attribute und ergänze oder aktualisiere anschließend die Testabdeckung, sodass null und undefined konsistent akzeptiert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
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
21
Description
Recent TypeScript 6 flashes out discrepancies in attributes declaration for html/material controls.
For MatInput, as for other controls, TypeScript doesn't allow empty (null or undefined) values.
The required, placeholder, etc. forces strict datatype while others such as autocomplete are optional.
Previous Angluar version 21 handled these cases correct, for example, placeholder in MatFormField.
In my view, all MatFormFieldControl attributes should be optional, to reflect HTML tag design by definition.
It's common to forward optional attributes between components that holds undefined value; forcing an issue when refering to HTML tag such as input with Angular decoration.
Reproduction
StackBlitz link: https://stackblitz.com/edit/components-issue-starter-ffzyyuuu?file=src%2Fmain.ts
Steps to reproduce:
See errors for empty placehoder and missing maxlength.
Expected Behavior
Attributes such as placeholder should accept null and undefined.
This should be common among all MatFormFieldControl implementations.
Actual Behavior
Common attributes doesn't allow empty values.
Environment
Angular CLI : 22.0.0
Angular : 22.0.0
Node.js : 24.16.0
Package Manager : npm 11.16.0
Operating System : win32 x64
- Vorherrschende Sprache
- TypeScript
- Sterne
- 25k
- Forks
- 6.8k
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 84
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus angular/components
-
area: material/tree docs gemini-triaged needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
angular/components#33832 ·
-
area: material/datepicker gemini-triaged P4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
angular/components#33763 · 2 Kommentare · 3 Reaktionen ·
-
area: material/table gemini-triaged P4
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
angular/components#33709 · 1 Kommentar ·
-
area: material/table docs gemini-triaged P4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
angular/components#33455 ·
-
area: material/core gemini-triaged P3
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
angular/components#33059 · 2 Kommentare ·
Alle Issues in angular/components
Ähnliche Issues
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Crush Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
ElementsProject/cln-application#167 · 1 Kommentar · 1 Reaktion ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Quantco/pnpm-licenses#17 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100