我有这个搜索管道
import { Pipe, PipeTransform, Injectable } from '@angular/core';
@Pipe({
name: 'filter2'
})
@Injectable()
export class FilterPipe implements PipeTransform {
transform(items: any[], field: string, value: string[]): any[] {
if (!items) {
return [];
}
if (!field || !value || value.length <= 0) {
return items;
}
return items.filter(singleItem => {
return (singleItem != null && singleItem[field] != null && singleItem[field] != undefined && value.includes(singleItem[field].toLowerCase()) && value.indexOf(singleItem[field].toLowerCase()) >= 0);
});
}
}
问题在于它无法正常工作。例如,如果我在表JOHN
中有此值,则如果我通过john
搜索,它将找不到(区分大小写)。
此外,如果我在“ JO”之后搜索,它将找不到该值。我尝试了类似value.includes(singleItem[field].toLowerCase())
的方法,但仍然找不到我的价值。
如何修改我的代码才能正常工作?谢谢您的时间!