2017-10-03 5 views
0

の遅延とkeyUpイベント私は、テキストボックスを持っており、それにkeyupイベント検索機能を割り当てたが、私はそれがここ遅延ではなく、すべてのキー入力コール角度

で発生する場合は、htmlコードです:

<input type="text" [(ngModel)]="searchedKPI" (keyup)="searchConfigTree()"> 

、ここでtsのコードです:

list = list.filter(item => item.label.toLocaleLowerCase().includes(this.searchedKPI.toLocaleLowerCase())).slice(); 

、ここでは、私が「テキスト」の文字列を検索したかったが、イベントが4回起こる、私はこれにしたいことは唯一の「テキスト」のために一度起こる例です。文字列:

enter image description here

ソリューション何?

+0

どうしたのですか? – Sajeetharan

+0

私はこれが "テキスト"文字列のために一度しか起こりません –

+0

debounceを使ってみてください....! – Jai

答えて

2

Observable's worldへようこそ。 Observableを使用して目的の結果を得るだけです。コンポーネントでの入力の参照を取得し、このコードを使用します。 debounceTimeは、イベントが少なくとも前のトリガーから1 secondの後にトリガーするようにします。ユーザーが速く入力すると、すべてkeyupに発射されません。

Observable.fromEvent(yourInput, 'keyup').debounceTime(1000).subscribe(value => /* */) 

subscribeメソッドではロジックを記述できます。 valueは入力の値です。

関連する問題