2016-11-08 43 views
0

我試圖解決這個問題:MD-單選按鈕

https://github.com/angular/material2/issues/1518

我想任何地方點擊我的MD-項目的線,它應該觸發無線電按鈕的動作。


settings.component.html:

<md-radio-group [(ngModel)]="lang"> 
    <md-list-item (click)="changeLanguageTo(l)" *ngFor="let l of langOptions"> 
    <md-radio-button [value]="l"> 
     {{l}} 
    </md-radio-button> 
    </md-list-item> 
</md-radio-group> 
<p>Your have selected : {{lang}}</p> 

settings.component.ts:

private langOptions = [ 
    'fr', 
    'en' 
]; 
private lang: string = 'en'; 
changeLanguageTo(lang) { 
    this.lang = lang || this.lang; 
    console.log(this.lang); 
    this.translate.use(this.lang); 
} 

默認情況下,在我的app.components.ts文件,我目前的選擇的英語是英語。

實際上,變化事件lang正常,但我不明白爲什麼我沒有在單選按鈕上默認選擇一個郎?

爲什麼ngModel不會初始化默認設置的當前lang? 任何想法?

+0

...單選按鈕(對不起)不復選框的作用。 –

回答

0

沒關係,我創立了解決方案:

 <md-radio-group [(ngModel)]="lang"> 
     <md-list-item (click)="changeLanguageTo(l)" *ngFor="let l of langOptions"> 
      <md-radio-button [value]="l" [checked]="lang == l"> 
      {{l}} 
      </md-radio-button> 
     </md-list-item> 
     </md-radio-group> 

     <p>Your have selected : {{lang}}</p>