Angular 2设置选定的属性

时间:2016-10-03 14:57:43

标签: angular angular2-template angular2-forms

我正在尝试在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>

任何想法如何使其发挥作用?

1 个答案:

答案 0 :(得分:1)

(ngModelChange)=“countrySelected($ event)再次执行[(ngModel)] =”facility.country“已经做的事情。

导航回来时,您需要将facility.country(代码中)设置为用户选择的值。您需要将其存储在某个位置(共享服务或类似服务)才能获得用户之前选择的值。