In Angular material official website it is mentioned that filterPredicate: ((data: T, filter: string) => boolean) will filter data based on specific field. But don\'t gettin
If you are looking for a range predicate to filter out a range of values on one attribute:
applyRangePredicate() {
this.datasource.filterPredicate = (data:
{id: string}, filter: string) => {
let searchlist = JSON.parse(filter);
var found = false
searchlist.forEach(item => {
if (data.id.indexOf(item) !== -1)
found = true
})
return found
}
}
then assign a json string to stream filtered data to the UI
this.applyRangePredicate()
this.datasource.filter = JSON.stringify(string[])