фильтр данных не работает при использовании вставки во входном тексте - PullRequest
0 голосов
/ 26 апреля 2018

Я занимаюсь разработкой веб-приложения с использованием angular framework и angularfire2.Моя проблема в том, что мой фильтр данных не работает, когда я вставляю скопированный текст.Но это хорошо работает, когда я набираю текст.Как мне решить эту проблему?

Ниже приведен список list.html

<th colspan="5">
  Search Serial Number/Model: <input type="text" [(ngModel)]="searchstring" 
  (input)="searchuser($event)" />
</th>

Ниже приведена функция в list.ts

searchuser(searchbar) {
  this.filteredusers = this.temparr;
  var q = searchbar.target.value;
  if (q.trim() == '') {
    return;
  }
  this.filteredusers = this.filteredusers.filter((v) => {
    if (v.serialnumber && v.serialnumber.toString().toLowerCase().indexOf(q) > 
        -1 ||
        v.detailspecification && 
        v.detailspecification.toLowerCase().indexOf(q.toLowerCase()) > -1  ) {
      return true;
    }
    return false;
  })
}

Ответы [ 3 ]

0 голосов
/ 26 апреля 2018

Вы можете использовать событие ngChange в форме для обнаружения каждого изменения в вашем вводе, поэтому вам не нужно использовать другую функцию для вставки.

<input type="text" class="form-control" [(ngModel)]="dataSource.comments" (ngModelChange)="onChange($event)">

вы можете использовать изменение вместо ngModelChange to.

Надеюсь, это поможет вам.

0 голосов
/ 26 апреля 2018

Попробуйте ngModelChange обнаружить все изменения в полях ввода

Заменить (input)="searchuser($event)" на (ngModelChange)="searchuser($event)"

Попробуйте это

<input type="text" [(ngModel)]="searchstring" (ngModelChange)="searchuser($event)" />
0 голосов
/ 26 апреля 2018

Использовать событие вставки.

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