从ngFor列表中预选择选项

时间:2019-02-23 14:00:46

标签: angular

当前所选选项的值在userDetail.timezone中 这不起作用

<option selected="userDetail.timezone" value="{{timezone.value}}" *ngFor="let timezone of timezones.success">`

..

<div class="form-group">
   <select class="form-control" formControlName="timezone" name="timezone" *ngIf="timezones">
            <option value="{{timezone.value}}" *ngFor="let timezone of timezones.success">
              {{timezone.name}}
            </option>
  </select>
 </div>

2 个答案:

答案 0 :(得分:0)

您可以使用条件选择选项:

<option [selected]="userDetail.timezone == timezone" [value]="timezone.value" *ngFor="let timezone of timezones.success">`

答案 1 :(得分:0)

由于您使用的是反应式表单,因此必须使用表单的select方法绑定默认值setValue

this.updateForm.controls.timezone.setValue(userDetail.timezone)

将此行放入ngOnInit()方法中,以便默认情况下绑定该值