2017-10-16 36 views
5

W moim przypadku wymagana jest aktywna opcja 01 jako domyślny wybór. Działa z właściwością checked = true, ale wartość nie jest wiążąca z formControlName = "options", jest wiążąca, gdy użytkownik wybierze dowolną opcję. jeśli żadna wartość opcji wyboru użytkownika nie pokazuje wartości "null".Jak powiązać wartość domyślną w kątowe formy reaktywne kątowo-matowe

<div class="row"> 
     <mat-radio-group formControlName="options"> 
     <mat-radio-button checked=true value="1">Option 01</mat-radio-button> 
     <mat-radio-button value="2">Option 02</mat-radio-button> 
     </mat-radio-group> 
    </div> 

Uprzejmie proszę mi pomóc rozwiązać ten problem. Dziękuję Ci.

Odpowiedz

5

Co chcesz zrobić, to usunąć checked i zamiast ustawić wcześniej wybranej wartości do formControl, więc podczas budowania formularza:

constructor(private fb: FormBuilder) { 
    this.myForm = this.fb.group({ 
    options: ['1'] 
    }) 
} 

a następnie po prostu usunąć atrybut checked:

<mat-radio-group formControlName="options"> 
    <mat-radio-button value="1">Option 01</mat-radio-button> 
    <mat-radio-button value="2">Option 02</mat-radio-button> 
</mat-radio-group> 

DEMO:https://plnkr.co/edit/8QiJmwPd0p5ywpvpTnCx?p=preview

+0

Niestety ustawienie wartości 0 w grupie radiowej powoduje, że wszystkie przyciski radiowe są odznaczone. Nawet jeden z moich przycisków radiowych ma wartość 0. Muszę więc zmienić wartości enum index na wartości łańcuchowe, aby działały poprawnie. Przypuszczam, że zwiększenie każdej wartości o +1 również zadziała. –

+0

Chcę, aby przycisk wyboru był domyślnie wybrany. Do tego używam checked = true, ale to nie działa. Czy możesz mi pomóc? –