2017-04-08 67 views
1

我需要两个单选按钮来检查两个选项。我使用以下。Angular2 boolean md-radio-button不工作

<md-radio-button [value]=true [(ngModel)]="carSelected" name="carOption">Car</md-radio-button> 
<md-radio-button [value]=false [(ngModel)]="carSelected" name="busOption">Bus</md-radio-button> 

在我的部分,我有carSelected布尔变量

public carSelected: boolean = true; 

但是,单选按钮将不会与carSelected的值更新。另外,当选中单选按钮时,carSelected也不会更新。

这里可能会出现什么问题?

+0

你有什么错误吗? – IsuruAb

+0

@IsuruAb,我没有得到任何错误。 –

回答

2

试试这个在HTML:

<md-radio-group [(ngModel)]="carSelected"> 
    <md-radio-button [value]=true name="carOption">Car</md-radio-button> 
    <md-radio-button [value]=false name="busOption">Bus</md-radio-button> 
</md-radio-group> 

在组件: public carSelected: boolean = true;

0

首先单选按钮需要相同名称才能用作单选按钮。在你的代码中一切都很好。

您应该将ngModel绑定到<md-radio-group>标签而不是<md-radio-button>标签。

这里是显示how to handle different form controls in angular 2

我希望这将帮助链接。

+0

因为这是角材料。我们不需要名称。请检查这个例子。 https://material.angular.io/components/component/radio – IsuruAb

+0

在这个例子中,你可以看到'ngModel'绑定到''标签上,而不是在''标签。 – HirenParekh

+0

我已经更新了我的答案。 – HirenParekh

0

试试这个。这对我有用。有一种方法,我们可以在变化中触发。您可以使用它来传递您需要的值。

<md-radio-group class="example-radio-group" [(ngModel)]="carSelected"> 
    <md-radio-button [value]=true (change)="getval('car')">Car</md-radio-button> 
    <md-radio-button [value]=false (change)="getval('Bus')">Bus</md-radio-button> 
    </md-radio-group> 

我的TS文件

getval(car){ 
    this.carSelected=true; 
    console.log(car) 
} 

阅读API参考here。你可以做更多的角材料2.

如果你需要更多的功能,材料没有。使用this UI平台。