selected
is not supported with [(ngModel)]="selectedUser3"
.
To make an item selected, the value
(for string only) or ngValue
property value needs to match the value in selectedUser3
.
this.selectedUser3 = this.users[2];
By default only object identity is checked, therefore another object instance with the same properties and values doesn’t match.
You can customize comparison using compareWith
https://angular.io/docs/ts/latest/api/forms/index/SelectControlValueAccessor-directive.html
<select [compareWith]="compareFn" [(ngModel)]="selectedCountries"> <option *ngFor="let country of countries" [ngValue]="country"> {{country.name}} </option> </select> compareFn(c1: Country, c2: Country): boolean { return c1 && c2 ? c1.id === c2.id : c1 === c2; }