Угловой материал - 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],

Другие вопросы по тегам