автозаполнение в firestore не работает должным образом - PullRequest
0 голосов
/ 14 октября 2018

Мое автозаполнение работает, но не так, как ожидалось.У меня есть 2 названия фильмов:

"aaa"
"aaaaa"

Когда я начинаю набирать фильтр результатов.Проблема в том, что когда я печатаю, мне нужно ввести 5 как , чтобы первый заголовок исчез вместо 4, поскольку это не совпадает, а 7 как для второго заголовка.исчезают вместо 6, поскольку не совпадают.

HTML

<input type="text" [(ngModel)]="searchValue" (keydown)="search($event)" />

TS

search($event) {
    let param = $event.target.value;
    this.startAt.next(param);
    this.endAt.next(param + "\uf8ff");
    this.movieSearched = this.afs
      .collection("movies", ref =>
        ref
          .orderBy("title")
          .startAt(param)
          .endAt(param + "\uf8ff")
      )
      .valueChanges();
  }

IЯ даже пытался вместо $event.target.value Я использовал 2 переменную привязки данных searchValue, но я получаю ту же проблему

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Чтобы убедиться, что автозаполнение работает при изменении входного содержимого любым способом (набор текста, вырезание, вставка), обработайте событие ngModelChange:

<input type="text" [(ngModel)]="searchValue" (ngModelChange)="search($event)" />

, где $event - элемент вводасодержание:

search(param: string) {
  ...
}
0 голосов
/ 14 октября 2018

Извините, я нашел решение, используя keyup. Если у кого-то есть лучшее решение, обязательно опубликуйте его и получите свои очки:)

<input type="text" [(ngModel)]="searchValue" (keyup)="search($event)" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...