Winkel 2 FormBuilder mit Wählen Sie mehrere

Wie Baue ich den FormBuilder richtig auf einem "select multiple"?
Es funktioniert nur ohne mehrere.

Versuchte ich mit FormArray, FormGroupName in HTML, allerdings werden alle Fehler zurückgeben. Und die Beispiele, die ich begegnen, sind immer non-tagged <select multiple>.

Könnte jemand mich leiten?
Danke.

.TS

this.detailFormGroup = this.fb.group({
   "id": [this.item.id],
    "name": [this.item.name, [Validators.required]],
    "categories": this.item.categories
});

.HTML -

<form [formGroup]="detailFormGroup">
    <div>
       <input type="text" formControlName="name" />
    </div>
    <div>
       <select formControlName="categories" multiple>
         <option *ngFor="let item of categories" [value]="item.id">{{ item.categoryName }}</option>
       </select>
    </div>
</form>

Was ich brauche, ist, dass, wenn ich das detailFormGroup.Wert erhalte ich das Objekt:

{
    id: 1,
    name: "name 1",
    categories: [
        {
           id: 5,
           categoryName: "name 5"
        },
        {
            id: 10,
            categoryName: "name 10"
        }
    ]
}

Und natürlich, wenn ich die item-Objekt das HTML-Steuerelemente sind auch ausgewählt, mit deren Positionen.

Ich bin immer falsch wie diese:

{
    id: 1,
    name: "name 1",
    categories: [ 5, 10 ]
}
Schreibe einen Kommentar