[英]Set default value on md-select When Value is an Object Angular4 Angular-Material
I'm trying to pass an object, rather than a string, out of an md-select change event. 我正在尝试从md-select change事件中传递对象,而不是字符串。 This works fine, however, I am unable to preselect a value on load: 这可以正常工作,但是,我无法在加载时预先选择一个值:
<md-select
[(ngModel)]="selectedValue"
name="food"
(change)="onSelectionChange($event)"
>
<md-option *ngFor="let food of foods" [value]="food">
{{food.viewValue}}
</md-option>
</md-select>
This doesn't work: 这不起作用:
selectedValue: {value: 'steak-0', viewValue: 'Steak'};
[(ngModel)]="selectedValue"
Nor does this: 这也不是:
selectedValue:'steak-0';
[(ngModel)]="selectedValue.value"
Is there a way to preselect a value on load, when value is an object? 当值是对象时,是否有一种方法可以预选加载的值? Seems like a common use case. 好像是一个普通的用例。
https://plnkr.co/edit/IkAnPj4ABsWOM4mpqqK4?p=preview https://plnkr.co/edit/IkAnPj4ABsWOM4mpqqK4?p=preview
If you deal with object value you should select the same object reference. 如果处理对象值,则应选择相同的对象引用。 So you can do it as follows: 因此,您可以执行以下操作:
foods = [
{value: 'steak-0', viewValue: 'Steak'},
{value: 'pizza-1', viewValue: 'Pizza'},
{value: 'tacos-2', viewValue: 'Tacos'}
];
selectedValue = this.foods[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.