2017-10-16 124 views
5

在我的情況下,它需要激活選項01作爲默認選擇。它正在使用checked = true屬性,但值不與formControlName =「options」綁定,當用戶選擇任何選項時,它是綁定的。如果沒有任何用戶選擇選項值顯示爲「null」。如何綁定mat-radio-group角度反應形式的默認值

<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> 

煩請幫我解決這個問題。謝謝。

回答

5

你想要做的是去除checked,取而代之的是預選值設置爲您formControl,所以當你建立你的表格:

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

,然後你只是刪除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

令人傷心的是,在radio-group上設置值0會使所有單選按鈕不被選中。即使是我的單選按鈕中的一個強有力的值爲0.所以我必須從枚舉索引值更改爲枚舉字符串值,以使其正常工作。我想通過+1增加每個值也將起作用。 –

+0

我希望默認選擇單選按鈕。爲此,我使用checked = true,但它不起作用。你能幫我解決嗎? –