我正在尝试在Angular2中设置选定的选项。
我有一个选择。
<select class="form-control" id="country" [(ngModel)]="facility.country" formControlName="countryField" (ngModelChange)="countrySelected($event)" >
<option id="countryOption{{c.id}}" *ngFor="let c of rawCountries" [ngValue]="c">{{c.message}}</option>
</select>
选择方法。
countrySelected(): void {
this.facility.country = this.rawCountries.find(rawCountries => rawCountries.name === this.facility.country.name);
}
我有2个步骤注册,由2个不同的组件表示。此选择是注册的第一步。用户可以选择在完成后返回第一步。我有一个问题是在第一步中选择他再次选择的选项。它会改回默认选项和我的模型。
我试过这个解决方案,但它不起作用。
<option id="countryOption{{c.id}}" [selected]="facility.country && (facility.country.id==c.id)" *ngFor="let c of rawCountries" [ngValue]="c">{{c.message}}</option>
任何想法如何使其发挥作用?
答案 0 :(得分:1)
(ngModelChange)=“countrySelected($ event)再次执行[(ngModel)] =”facility.country“已经做的事情。
导航回来时,您需要将facility.country
(代码中)设置为用户选择的值。您需要将其存储在某个位置(共享服务或类似服务)才能获得用户之前选择的值。