Как получить последнюю клавишу, нажатую в SearchBar нативного скрипта?

Я хочу знать, какое последнее нажатие клавиши в SeachBar (и проверить, является ли это пробелом).

Можно ли это сделать с помощью события searchBarTextChanged(args)?

Я использую Angular и ищу решение как для Android, так и для iOS.

Спасибо!


person tigrenok00    schedule 07.08.2017    source источник


Ответы (1)


Я использую <SearchBar (textChange)="search(searchBar.text)"> в представлении и что-то вроде этого в компоненте:

search(term?: string): void {
  // reduce your list based on the search term
}

Я не обнаруживаю пробел, так как всегда сокращаю список (к которому применяется поисковый запрос) на основе ввода. Таким образом, если ранее был введен термин и был нажат Backspace, термин теперь будет '', что означает, что может быть показан весь список.

person Eddy Verbruggen    schedule 07.08.2017
comment
Привет, Эдди, у меня очень похожий сценарий, и я хочу признать, что пользователь нажал клавишу Backspace, чтобы я мог сократить список и не выполнять новый запрос к серверу. Критерий поиска в этом случае не '', а предыдущая строка с одним символом меньше (поскольку удаление одного символа и очистка всего ввода - это не одно и то же). Является ли единственным решением сравнение нового термина с предыдущим термином? Нет способа узнать, какой именно символ был нажат? - person tigrenok00; 07.08.2017
comment
Насколько мне известно, вы не можете знать, какая клавиша была нажата (если не копаться в собственном коде), но действительно, простое сравнение локальной строки (старой и новой) должно это исправить. - person Eddy Verbruggen; 07.08.2017
comment
Это то, с чем я закончил. Благодарю вас! - person tigrenok00; 07.08.2017