2017-09-11 37 views
0

プリムンのドロップダウンで以前に選択した値を取得します。primeng <p-dropdown>前回選択した値を取得

<p-dropdown [options]="options" [filter]="true" [(ngModel)]="selectedType" (onChange)="onSelectType($event)" formControlName="alertType"></p-dropdown> 

変更イベント時に、選択したタイプが有効であるかどうかを確認したいのですが、無効な場合は元に戻す必要があります。私はngModelを使用しているので、ドロップダウン値が変更されるたびにselectedTypeの値が変更されます。

どのようにして以前に選択した値を取得できますか?

+0

ウィンドウ変数として格納することはオプションです。グローバル変数js varにするためです。それは最も簡単な解決策になります – Deckerz

+0

私は以前の値と選択された値を期待どおりに答えを投稿しました。役に立ったと思う。 – Chandru

+0

はい。実際、ngModelChangeはこれを私が探していた答えにしました。ありがとう。 –

答えて

2

ngModelChangeのこのサンプル例:

app.component.html

<p-dropdown [options]="cities" [(ngModel)]="selectedCity" (ngModelChange)="onSelectType($event)"></p-dropdown> 

app.component.ts

import { SelectItem } from 'primeng/primeng'; 

export class AppComponent { 
    cities: SelectItem[]; 
    selectedCity: any; 
    previousVal: any; 
    currentVal: any; 

    constructor() { 
     this.cities = [{ 
      "label": "London", 
      "value": "london" 
     }, { 
      "label": "USA", 
      "value": "usa" 
     }]; 
    } 

    onSelectType(event) { 
     if(event) { 
      this.previousVal = this.currentVal; 
      this.currentVal = event; 
     } 
     console.log('this.previousVal', this.previousVal); 
     console.log('this.currentVal', this.currentVal); 
    } 
} 

app.module.ts

import { DropdownModule } from 'primeng/primeng'; 

imports: [ DropdownModule ] 

溶液が使用されます。ngModelChange;

+0

ありがとうございました..... –

+0

'[(ngModel)]'は実際に '[ngModel]'と '(ngModelChange)'ですので、 'ngModel'のカッコを取り除きたい場合はifあなたは 'ngModelChange'を実装したいと思っています –

+0

いいえ............ –

関連する問題