Angular 5过滤管
Angular 5 filter pipe
我对过滤管有疑问angular 5.
过滤管道工作正常,但我有过滤日期格式的任务。
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({
name: "filter"
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if (!items) return [];
if (!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter(it => {
return it.data.DatumRodjenja.toLowerCase().includes(searchText);
});
}
}
这是我的日期格式:01.01.1992。如何忽略点 (.) 并仅搜索键入的数字。我的代码有效,但我需要在搜索内容时输入点。
您可以使用 replace
和 /\./g
正则表达式,它们会填充查找所有点并将其替换为 ''
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({
name: "filter"
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if (!items) return [];
if (!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter(it => {
return it.data.DatumRodjenja.toLowerCase().replace(/\./g,' ').includes(searchText);
});
}
}
或者你可以这样做:
return it.data.DatumRodjenja.toLowerCase().split('.').join('').includes(searchText);
我对过滤管有疑问angular 5. 过滤管道工作正常,但我有过滤日期格式的任务。
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({
name: "filter"
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if (!items) return [];
if (!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter(it => {
return it.data.DatumRodjenja.toLowerCase().includes(searchText);
});
}
}
这是我的日期格式:01.01.1992。如何忽略点 (.) 并仅搜索键入的数字。我的代码有效,但我需要在搜索内容时输入点。
您可以使用 replace
和 /\./g
正则表达式,它们会填充查找所有点并将其替换为 ''
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({
name: "filter"
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if (!items) return [];
if (!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter(it => {
return it.data.DatumRodjenja.toLowerCase().replace(/\./g,' ').includes(searchText);
});
}
}
或者你可以这样做:
return it.data.DatumRodjenja.toLowerCase().split('.').join('').includes(searchText);