javascript - 在输入文本中使用粘贴时数据过滤器不起作用
问题描述
我正在使用 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 事件来检测输入中的每一个更改,因此您不需要使用其他函数进行 paste 。
<input type="text" class="form-control" [(ngModel)]="dataSource.comments" (ngModelChange)="onChange($event)">
您可以使用 change 而不是 ngModelChange 来。
希望这会帮助你。
推荐阅读
- node.js - TypeError:无法解构“req.body”的属性“email”,因为它未定义。(设置 MERN 身份验证)
- tensorflow - 设置 tensorflow.keras.mixed_precision.Policy('mixed_float16') 几乎耗尽了所有 GPU 内存
- linux - 我需要在一行中打印多个打印结果
- python - 将 Matplotlib Figure 转换为灰度和黑白 numpy 数组
- pine-script - 查找特定时期内的最高 MACD
- python - 需要帮助将 Windows 通知转换为 python 中的文本转语音
- java - MySql 查询动态创建的表
- c - 如何在c中将整数作为命令行参数传递?
- python - 从 CSV 转换为 Python DataFrame 中的分类数据
- python - 将新列添加到倒置二进制值的 ndarray | NumPy 数组 Python