【发布时间】:2020-01-30 08:14:35
【问题描述】:
我正在尝试一起搜索 fname、mname 和 lname。现在,我只能按 fname、mname 和 lname 搜索,但不能一起搜索。
示例:我正在尝试搜索“Jacob jj9eqwif Nguyen”,但它不起作用。但是尝试搜索 Jacob 并且它有效。尝试搜索 jj9eqif 并且它有效。尝试搜索 Nguyen 即可。
请看这个链接
search(event) {
const val = event.target.value.toLowerCase();
if (!val) {
this.data = this.tempData;
}
const temp = this.tempData.filter(row => {
return Object.keys(row).some(property => {
if (property === 'received_by') {
return row[property].fname
.toString()
.toLowerCase()
.indexOf(val) !== -1
? row[property].fname
.toString()
.toLowerCase()
.indexOf(val) !== -1
: row[property].mname
.toString()
.toLowerCase()
.indexOf(val) !== -1
? row[property].mname
.toString()
.toLowerCase()
.indexOf(val) !== -1
: row[property].lname
.toString()
.toLowerCase()
.indexOf(val) !== -1
? row[property].lname
.toString()
.toLowerCase()
.indexOf(val) !== -1
: (row[property].fname + row[property].lname + row[property].mname)
.toString()
.toLowerCase()
.indexOf(val) !== -1;
}
if (property === 'warehouse') {
return (
row[property].name
.toString()
.toLowerCase()
.indexOf(val) !== -1
);
} else {
return row[property] === null
? null
: row[property]
.toString()
.toLowerCase()
.indexOf(val) !== -1;
}
});
});
this.data = temp;
}
【问题讨论】:
-
您能否详细说明
search for the fname, mname and lname together与一些示例搜索文本?
标签: angular typescript filter