you must need to assign value to model.userSelected
as you are binding it with the select control. you are not passing anything in current code of yours that why its not selecting any element.
try like this , create default user with id -1 and bind it.
component.ts
ngOnInit() {
//pull add data
model.userSelected = {name:'', id=-1} as User;
}
html
--do not bind full object user
as value , bind id of object like as done below
<select class="form-control" name="user" id="user" required
[(ngModel)]="model.userSelected.id">
<option [ngValue]='-1'>-- SELECT USER-- </option>
<option *ngFor="let user of users" [ngValue]="user.id">{{user.name}}</option>
</select>
or
just push default element at fist in array of users, after you get all users from you call to server
//push default element in array of user
user.unshift({name:'-- SELECT USER--', id=-1} as User);
ngOnInit() {
//pull add data
model.userSelected = {name:'', id=-1} as User;
}
then
<select class="form-control" name="user" id="user" required
[(ngModel)]="model.userSelected.id">
<option *ngFor="let user of users" [ngValue]="user.id">{{user.name}}</option>
</select>