Угловой материал - md-select - выбранный элемент в раскрывающемся списке
У меня есть выпадающий список md-select со списком имен пользователей. Я хочу, чтобы lead.id был выбран. Как мне этого добиться?
<md-select formControlName="lead" ng-model="plan.lead.id" id="lead" style="min-width: 200px;">
<md-option *ngFor="let lead of users" [value]="lead.id">
{{lead.displayName}}
</md-option>
</md-select>
getLead() {
this.service.getLead(this.id)
.subscribe(res => {
this.plan = res;
console.log("lead: " + this.plan.lead);
});
}
2 ответа
Ты используешь ng-model
, который является синтаксисом AngularJS. Но вам не нужно здесь использовать ngModel, так как у вас есть реактивная форма (??), и вы можете установить formcontrol со значением, которое вы получили. Итак, когда вы получили свой plan
Вы можете установить значение:
this.myForm.get('lead').setValue(this.plan.lead.id)
Ваш шаблон:
<md-select formControlName="lead" id="lead" style="min-width: 200px;">
<md-option *ngFor="let lead of users" [value]="lead.id">
{{lead.displayName}}
</md-option>
</md-select>
Подождите пару секунд, и в Plunker будет установлено значение.
Прежде всего, вы используете реактивные формы?
Если это так, несмотря на то, что вы используете неправильный синтаксис в ng-model
(так должно быть [(ngModel)]
), вы не должны использовать его с реактивными формами.
Использовать только formControlName
или же [formControl]
,