【发布时间】:2018-05-24 20:33:43
【问题描述】:
如何制作自定义全局过滤器
我有一个包含 4 个对象的数组
对象是id名称年龄和性别
var xx=[{id:1,name:"Ramesh",Age:13,Sex:"M"},{id:2,name:"Ram",Age:14,Sex:"M"}
{id:3,name:"Suresh",Age:15,Sex:"M"}{id:4,name:"Rajesh",Age:16,Sex:"M"}];
场景:我有一个文本框作为搜索框。当我在文本框中输入
1然后需要显示所有对象,因为年龄包含1。如果我在文本框中输入Ra。那么我们应该展示 Ramesh, Rajesh, Ram。
我试过了
let tempdata=[];
tempdata.push(this.tyreAndRimList = xx.filter(x => x.name=== this.globalSearchbox));
tempdata.push(xx.filter(x => x.age=== this.globalSearchbox));
tempdata.push(xx.filter(x => x.sex=== this.globalSearchbox));
let data = tempdata.map(function (obj) { return obj.id; });
this.tyreAndRimList = data.filter(function (v, i) { return data.indexOf(v) == i; });
我尝试过喜欢、过滤并推送到临时数组并删除重复的对象。我不确定是否正确。请针对这种情况提出更好的解决方案。
我期待通过手动编码获得相同的功能:http://primefaces.org/primeng/#/datatable/filter
突然间我现在有个会议。所以我稍后会提供更多信息。如果您不了解此详细信息,请稍候。
【问题讨论】:
-
使用自定义管道。管道用于过滤搜索功能等数据..
标签: javascript arrays angular typescript filter