https://stackblitz.com/edit/angular-7aqzj2

places = ['effil tower','new discover']

new FormGroup({place: new FormControl()});
 <div *ngIf="places?.length > 0" class="col-12">
            <div style=" padding-top: 1em; ">
                <label  *ngFor="let place of places">
                    <input  formControlName="place" type="radio">{{place}}
                </label>
            </div>
        </div>

Ich versuche, das Optionsfeld mit demselben Formularsteuerungsnamen hinzuzufügen, und der Wert wird über Dienste bereitgestellt.

Dabei hat es den gleichen Namen für die Formularsteuerung, sodass beide gleichzeitig ausgewählt werden.

Gibt es eine Möglichkeit, beide zu unterscheiden und jeweils eine auszuwählen?

0
a.p. patel 7 Feb. 2020 im 19:48

3 Antworten

Beste Antwort

Sie müssen die Eigenschaftsbindung für jede Option verwenden:

<input  formControlName="place" type="radio" [value]="place">
3
Nicholas K 7 Feb. 2020 im 17:10
places = ['effil tower','new discover']

new FormGroup({place: new FormControl(this.places[0])});
 <div *ngIf="places?.length > 0" class="col-12">
            <div style=" padding-top: 1em; ">
                <label  *ngFor="let place of places">
                    <input  formControlName="place" type="radio" [value]="place">{{place}}
                </label>
            </div>
        </div>

Hoffe das hilft. [value] = "place" und FormControl (this.places [0])

0
Jijeesh 7 Feb. 2020 im 17:22

Für die Eingabe muss ein Wert definiert sein. Wenn Sie die FormGroup erstellen, können Sie außerdem einen Standardwert definieren, wenn Sie möchten.

Diese Frage könnte Ihnen mehr helfen. Angular 5 Reactive Forms - Optionsfeldgruppe

 <div *ngIf="places?.length > 0" class="col-12">
            <div style=" padding-top: 1em; ">
                <label  *ngFor="let place of places">
                    <input  formControlName="place" type="radio" value=place>{{place}}
                </label>
            </div>
        </div>
0
Zen 7 Feb. 2020 im 17:06