Filtering specific column in Angular Material table in angular 5

前端 未结 8 838
太阳男子
太阳男子 2020-12-01 07:11

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

8条回答
  •  臣服心动
    2020-12-01 07:27

    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[])
    

提交回复
热议问题