2017-06-16 20 views
0

文字列ではなくオブジェクトをmd-select変更イベントから渡そうとしています。これはうまく動作します、しかし、私は負荷に値を事前に選択することができません:md-selectにデフォルト値を設定する値がオブジェクトの場合Angular4 Angular-Material

<md-select 
    [(ngModel)]="selectedValue" 
    name="food" 
    (change)="onSelectionChange($event)" 
> 
    <md-option *ngFor="let food of foods" [value]="food"> 
    {{food.viewValue}} 
    </md-option> 
</md-select> 

これは動作しません:

selectedValue: {value: 'steak-0', viewValue: 'Steak'}; 
[(ngModel)]="selectedValue" 

もこれを行います:

selectedValue:'steak-0'; 
[(ngModel)]="selectedValue.value" 

があります値がオブジェクトの場合、負荷の値を事前に選択する方法はありますか?一般的な使用例のようです。

https://plnkr.co/edit/IkAnPj4ABsWOM4mpqqK4?p=preview

+0

'ngModel'はスマートなツールですが、あなたは右のそれを使用していませんでしたか? –

答えて

1

あなたがオブジェクト値を扱う場合は、同じオブジェクト参照を選択する必要があります。次のようにあなたがそれを行うことができます。

foods = [ 
    {value: 'steak-0', viewValue: 'Steak'}, 
    {value: 'pizza-1', viewValue: 'Pizza'}, 
    {value: 'tacos-2', viewValue: 'Tacos'} 
]; 

selectedValue = this.foods[0]; 

Fixed Plunker

関連する問題