angular - Hur man ställer in radioknappsvärde med Reaktivt formulär?


Här är min komponentklass där jag försöker sätta ett formulärradiosknappsvärde till 1:

import { FormGroup, FormControl } from '@angular/forms';

export class myComponent implements OnInit{
    pageForm: FormGroup;

    ngOnInit() {
        this.pageForm = new FormGroup({
            'gndr': new FormControl(1)
        });
    }
}

men när sidan laddades är radioknappen inte inställd på Man och båda alternativen är tomma:

<div class="form-group">
    <label for="gender">Gender</label>
    <div class="radio">
        <label>
            <input type="radio" name="gndr" formControlName="gndr" value=1>Male
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" name="gndr" formControlName="gndr" value=0>Female
        </label>
    </div>
</div>

så hur kan jag ladda radioknappens värde från min komponentklass?

Svar #1

Om du vill att någon av dem ska vara markerad som standard manuellt kan du lägga till taggen "checked" t.ex.

<div class="radio">
    <label>
        <input type="radio" name="gndr" formControlName="gndr" value=1 checked>Male
    </label>
</div>
<div class="radio">
    <label>
        <input type="radio" name="gndr" formControlName="gndr" value=0>Female
    </label>
</div>

Redigera

Om du vill använda standardvärdet av typen sträng, ställ in i FormControl:

component.ts
this.pageForm = new FormGroup({
      'gndr': new FormControl('1')
    });
component.html
...
<input type="radio" formControlName="gndr" value=1>
...

Om du vill använda standardvärdet av typen nummer, ställ in det i FormControl:

component.ts
this.pageForm = new FormGroup({
      'gndr': new FormControl(1)
    });
component.html
...
<input type="radio" formControlName="gndr" [value]=1>
...

Relaterade artiklar