Как присвоить выбранное значение Select, когда значение имеет объект класса в angular 2

Используя angular 2.2.4 из следующих ссылок, вы узнали список выбора объекта класса:

Как получить новый выбор при выборе в Angular 2?

https://stackoverflow.com/a/35945293/4773561

Параметры раскрывающегося списка Angular 2 Значение по умолчанию

& реализовано следующим образом

<select id="st" name="state" [(ngModel)]="selectedState" (ngModelChange)="onStateSelectedForVanue($event)">
    <option *ngFor="let state of states" 
            [ngValue]="state">{{state.name}}
    </option>
</select>

здесь «состояния» - это список объектов State Class

export class State {
 public id:number;
 public name:string;
}

это список классов

public states : State[]= [];

для состояний, получающих значение от Сервиса, до этого кода я получаю раскрывающийся список «имя состояния». Теперь я хочу показать «По умолчанию» из «Предварительно выбрано» State.For созданный объект класса selectedState и назначенный через [(ngModel)] или [ngModel]

public selectedState: State;

в конструкторе присваивается следующее значение:

this.selectedState = new State();
this.selectedState.id = 12;
this.selectedState.name = 'Goa';

и список состояний получается из ngOnInit(), но по умолчанию элемент списка (состояние) не выбирается

также попытался добавить следующий код в

<option></option>
[selected]="state.name === selectedState.name" with reference link

Установить изначально выбранный элемент в списке выбора в Angular2

https://stackoverflow.com/a/37666951/4773561

https://stackoverflow.com/a/37663411/4773561

все еще не получает предварительно выбранное состояние

что не так в коде?


person Shreekant N    schedule 09.04.2017    source источник
comment
onInit вы подписываетесь на какой-то сервис, а затем получаете данные для выбора?   -  person Aravind    schedule 09.04.2017
comment
@ Аравинд да !!   -  person Shreekant N    schedule 10.04.2017
comment
У меня та же проблема... Но для последнего элемента в раскрывающемся списке все работает, и я не знаю, почему... Вы нашли решение?   -  person 5im    schedule 17.05.2017
comment
@5im да, но с использованием идентификатора ‹select [ngModel]=selected?.id (ngModelChange)=onStateSelected($event)› ‹option *ngFor=let состояние состояний [ngValue]=state.id›{{state.name} }‹/опция› ‹/выбрать›   -  person Shreekant N    schedule 29.05.2017