angular - Angular 5过滤管
问题描述
我对过滤管角度 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);
});
}
}
推荐阅读
- python - PyMongo - 创建索引时“不支持语言覆盖:C++”
- powerbi - Power BI Desktop 中的两个事实和常见维度表之间的交叉筛选
- influxdb - 计算一个标签在 influxdb 中出现的次数
- javascript - Javascript翻译脚本改进
- r - 当因子变量包含在模型中时,栅格预测不会在会话之间重现
- linux - 无法在我的命令中重定向错误消息
- r - 查找向量中所有出现的字符串(grep(),which() 函数不太工作)
- asp.net - 如何在 ASP.Net Core 2.0 应用程序中使用 Bootstrap?
- python-3.x - Python3.6:使用import os、iter、next打印同名文件目录
- python - 动态改变 raw_input 的消息