2017-10-16 123 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,但它不起作用。你能帮我解决吗? –