2017-04-08 68 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平臺。