ドロップダウンの変更に表示される確認ポップアップがある非常に単純なシナリオがあります。ユーザーがキャンセルを選択した場合は、以前の値に戻す必要があります。私は正しくやっていると思うし、DOMでも、select
で結ばれたngModelの値が反映されています。しかし、どういうわけか、選択した値を表示に戻していません。ここに私のコード私はchange
の代わりにすぎngModelChange
みましたngModelの角の2つの変化がドロップダウンに反映されない
<select style="display: inline-block;width: 20%" class="form-control"
name="selectedClientVersion"
(change)="selectedCurrentVersion($event.target.value)"
[(ngModel)]="selectedClientVersion">
<option *ngFor="let i of clientVersions"
[selected]="i == 'selectedClientVersion' ">{{i}}</option>
</select>
selectedClientVersion='version1';
prevSelectedClientVersion='version1';
clientVersions=['version1', 'version2', 'version3'];
selectedCurrentVersion(val){
var r = confirm("Do you really want to chnage?");
if (r == true) {
this.prevSelectedClientVersion= this.selectedClientVersion= val;
} else {
this.selectedClientVersion=this.prevSelectedClientVersion;
//return false;
}
}
P.Sです。 アップデート:私はすでに同様の答えをStackOverflowの上で検索し、シナリオのどれもが、確認のポップアップの関与があります。この場合、ハンドルが見つかりませんでしたし、値がAngular 2
にそれに基づいて元に戻すする必要がありますしていますアップデート2:これは2角度でいえ、私が何をしたいです: Reset back to previous option on Select field if js Confirm returns false http://jsfiddle.net/CZ8F9/
を助け@Aravind質問を読んで理解してください注意深く –
'' selectedClientVersion'から '' selected = "selectedClientVersion" "'の引用符を取り除いて '[selected] =" i == selectedClientVersion "'と書くと、 – SaiUnique
になります。ごめんなさい。私の答えを確認してください – Aravind