2

My search filter currently filters results only by the 'packageName' field. Now I need to filter by 'dateStart' and 'dateFinish' fields also.

getters: {
  filteredPacks: (state, getters) => (search) => {
    return state.packs.filter(pack => {
      return pack.packageName.toLowerCase().indexOf(search) > -1
    })
  }
}

How do I filter results by multiple fields/criteria?

lexeme
  • 2,915
  • 10
  • 60
  • 125
  • see how to make multiple key filter here: https://stackoverflow.com/questions/31831651/javascript-filter-array-multiple-conditions – lexeme Feb 22 '18 at 10:15

1 Answers1

0

Here's an answer: https://stackoverflow.com/a/31831801/532675. To be more specific:

getters: {
  filteredPacks: (state, getters) => (term) => {
    return state.packs.filter(pack => {
      for(var key in term) {
        if(pack[key] === undefined || pack[key] != term[key])
        return false;
      }
      return true;
    })
    // or add more specific/straight 'if' checks
  }
}
lexeme
  • 2,915
  • 10
  • 60
  • 125