我有一个带有用户名列表的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);
            });
    }

最佳答案

您正在使用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中设置值。

10-07 14:35