2016-10-03 5 views
1

Angular2で選択されたオプションを設定しようとしています。角2は選択されたプロパティを設定します

私には選択があります。

<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

'(ngModelChange)=" countrySelected($ event) 'ちょうどもう何を' 'あなたが戻ってナビゲートするとき、あなたが戻ってナビゲートするときあなたはそれをどこかに保存する必要があります(共有サービスなど) [(ngModel)] = "facility.country"は既に行います。 –

+0

@GünterZöchbauerあなたの反応をありがとう。私はngModelChangeを削除しました。 –

+0

現在動作しているのですか、まだ動作していませんか?私はあなたの質問を完全に理解しているかどうかはわかりません。 –

答えて

1

(ngModelChange)= "countrySelected($イベント)もう一度何[(ngModel)] =" facility.country」は既にありません。

あなたはユーザーが選択した値に(コードで)facility.countryを設定する必要があります

関連する問題