Я выполняю поиск по типу компонента Lightning для Salesforce.Я сделал функцию debounce, чтобы проверить, перестает ли пользователь печатать, что делает задержку успешно.Однако функция, которая запускается в моей функции debounce, теперь не будет принимать событие, а console.log(event)
говорит 'undefined'.Я не уверен, как исправить эту ошибку.Мой код ниже ...
debounce(func, wait, immediate) {
var timeout;
return function executedFunction() {
var context = this;
var args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}
termChange(evt) {
this.rows = [];
this.searchTerm = evt.target.value;
this.getCases();
}
handleTermChange = this.debounce(evt, function(){
this.termchange();
}, 2000, false)
Когда я использовал просто вызывать termChange, он будет искать каждое нажатие клавиши, и вы получите дубликаты или нежелательные записи.Теперь с debounce это откладывается, но я не могу найти способ передать событие. (this.getCases()
- еще одна созданная мной функция, которая извлекает записи.) Есть идеи, как это сделать?