我试图从md-select更改事件中传递一个对象而不是一个字符串。这工作正常,但是,我无法在加载时预先选择一个值:
<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"
当值是对象时,有没有办法在加载时预选值?似乎是一个常见的用例。
答案 0 :(得分:1)
如果处理对象值,则应选择相同的对象引用。所以你可以这样做:
foods = [
{value: 'steak-0', viewValue: 'Steak'},
{value: 'pizza-1', viewValue: 'Pizza'},
{value: 'tacos-2', viewValue: 'Tacos'}
];
selectedValue = this.foods[0];
<强> Fixed Plunker 强>