angular / angular/components

docs-bug(MatInput): How to nest / wrap material form controls

Offen
#23,850 11 Kommentare 19 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: material/input docs good first issue help wanted P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

#### Documentation Feedback

I find myself getting stuck on this again and again, and I've been using angular and material since it's inception, so by now it should have stuck up there in the old noggin, but alas.

Today we have a basic tutorial on how to do a completely custom form field
https://material.angular.io/guide/creating-a-custom-form-field-control

but there is no tutorials examples of how to take an existing matInput mat-select or other form controls and wrap them into a component.
Usually we need to do this to DRY things up and not have to have the same error messages, options or reoccurring fields multiple times.

## These are some tutorials / examples I would like to see

**Custom component to wrap sub field names, validation and errors**
I have an Address FormGroup which contains
street, zipcode, city
and a couple of mat-form-fields with labels, inputs, errors
I now want to wrap this into a ``

**Custom `mat-select` with static list of values and validation**
I have a Language select that is reused in multiple places
I now want to use it ``

**Custom `input with some kind of dialog picker`**
A User picker, should display the user name when done, and an icon to the right much like a date picker.
but then in the dialog we have some custom logic to list all users, and the value that comes out of the picker should be the database id for the user.
``

## The struggles
Since matInput already implements ControlValueAccessor it must be possible to just provide / delegate functionality down to that child, but how?

I have multiple implementations of the above, but all of them feel over complicated, or the dirty state isn't working because of something.

We need best practices for creating wrapped form controls and form groups :)

Please let me know if you need more context or examples, I have plenty

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem verlinkten Angular Material-Leitfaden zum Erstellen eines benutzerdefinierten Form-Feld-Steuerelements und vergleiche ihn mit den angeforderten Beispielen für umschlossene matInput-, mat-select-, form-group- und Picker-Steuerelemente. Lege den Umfang und die empfohlenen Muster fest, bevor du Tutorials hinzufügst; abgeschlossen ist die Aufgabe, wenn die Dokumentation umschlossene Steuerelemente und Gruppen mit vollständigen Beispielen, Validierung und dem Verhalten des Formularstatus erklärt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

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