2016-08-09 17 views
1

Ich arbeite an einem Formular, das einen FormArrayName hat, in dem ich eine Optionsschaltfläche verwenden möchte. Das Problem ist, dass alle diese Optionsfelder denselben Namen haben. Wenn ich also auf eins klicke, werden alle anderen Optionsfelder ausgeschaltet.Optionsfeld in FormArray

Wenn ich dem Optionsfeld einen Namen mit einem Index geben (name[i]) bekomme ich die Fehlermeldung:

platform-browser.umd.js:1900 ORIGINAL EXCEPTION: If you define both a name and a formControlName attribute on your radio button, their values must match. Ex: <input type="radio" formControlName="food" name="food"> 

ich nicht herausfinden kann, wie dies zu beheben. Ich kann den Index der Init-Funktion nicht geben, da sich der Index des Arrays ändern kann. Im Folgenden ist ein Beispiel für meinen Code:

Edit: Macht ein Plunker Beispiel: http://plnkr.co/edit/o2ZxAFsuhD0F7OKevqei?p=preview

Wer mir in der Lage zu helfen?

Antwort

-1

Es ohne Verwendung mehrerer form Elemente technisch unmöglich scheint.

2

Sie benötigen die name Eigenschaft Eingangswinkelsatz lassen:

<input type="radio" [attr.name]="'sex' + i" value="male"> male 
<input type="radio" [attr.name]="'sex' + i" value="female"> female 
+0

Meine Frage mit einem Plunker-Beispiel aktualisiert. Ihre Lösung scheint nicht zu funktionieren. – Jeffrey

1

Das Auslassen der Namenseigenschaft behob das Problem für mich.

+0

Ich kann das nicht mehr verifizieren, weil ich schon lange nicht mehr gefragt habe, aber danke für deine Ergänzung! – Jeffrey