2017-03-02 13 views
1

角度でのデフォルト値を設定することはできません私は、角2にMD-選択に値を設定することはできませんよ、私は、コンストラクタから選択リストを移入していますように:は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'; 

私は{{}} SelectedValueのを使用して正しくHTMLでは、この値にアクセスすることができます。 しかし、値は選択フィールドにロードされません。 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は必要ありません。基本的には2ウェイのデータバインディングと同じことです。

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

答えをありがとう! –

関連する問題