2017-03-02 118 views
1

我不能爲設定值MD-選擇在角2.我從構造函數中填充的選擇列表,如:無法設置爲默認值MD-選擇在角2

constructor() { 
     this.testService.getTypes() 
     .subscribe(result => { 
      if (result.code === 200) { 
       this.types = result.data;       
      } 
     }, error => { 
      this.router.navigate(['signin']); 
     }); 
} 

其工作正常,數據在md-select上正確填充。然後我運行一些查詢後設置上ngOnInit()的值,並設置類似的值:

this.selectedValue = 'value'; 

我能正確使用HTML訪問此值{{了selectedValue}}。 但是該值未加載到選擇字段上。 MD-選擇代碼是:

<md-select placeholder="Type" [(ngModel)]="selectedValue" [formControl]="form.controls['typeName']" [required]="isRequired" style="width: 100%"> 
     <md-option *ngFor="let type of types" [value]="type.typeId" [disabled]="type.disabled"> 
      {{ type.typeName }} 
    </md-option> 

任何幫助,將不勝感激。提前致謝!

+0

如果您有formControl,則不需要ngModel。它將直接從formControl獲取值。 –

回答

1

你沒有發佈完整的代碼,但我會盡力幫你沒有它。首先,如果你有一個formControl,你不需要ngModel。它基本上是做同樣的事情 - 兩種數據綁定。

this.testService.getTypes() 
    .subscribe(result => { 
     if (result.code === 200) { 
      this.types = result.data; 
      this.form.controls['typeName'].setValue(this.types[0].typeId); //add this line      
     } 
    }, error => { 
     this.router.navigate(['signin']); 
    }); 
+0

感謝您的回答! –