我正在使用 Angular 框架和 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;
})
}
最佳答案
您可以在表单中使用 ngChange 事件来检测输入中的每个更改,因此您不需要使用其他函数来粘贴。
<input type="text" class="form-control" [(ngModel)]="dataSource.comments" (ngModelChange)="onChange($event)">
您可以使用 change 而不是 ngModelChange to。
希望对您有所帮助。
关于javascript - 在 Angular 输入文本中使用粘贴时数据过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50034696/