我正在使用角度框架和angularfire2开发一个Web应用程序。我的问题是,当我粘贴复制的文本时,我的数据过滤器无法正常工作。但是当我键入文本时它很有效。我该如何解决这个问题?
下面是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;
})
}
答案 0 :(得分:2)
您可以在表单中使用ngChange事件来检测输入中的每个更改,因此您无需使用其他功能进行粘贴。
num
您可以使用更改而不是ngModelChange来。
希望这会对你有所帮助。
答案 1 :(得分:1)
使用粘贴事件。
<input type="text" [(ngModel)]="searchstring" (input)="searchuser($event)" (paste)="searchuser($event)" />
答案 2 :(得分:1)
尝试ngModelChange
检测输入字段的每个更改
将(input)="searchuser($event)"
替换为(ngModelChange)="searchuser($event)"
试试这个
<input type="text" [(ngModel)]="searchstring" (ngModelChange)="searchuser($event)" />