【问题标题】:How to filter results by multiple criteria?如何按多个条件过滤结果?
【发布时间】:2017-12-15 18:09:27
【问题描述】:

我的搜索过滤器目前仅按“packageName”字段过滤结果。现在我还需要按“dateStart”和“dateFinish”字段进行过滤。

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

如何按多个字段/条件过滤结果?

【问题讨论】:

标签: javascript vue.js vuex


【解决方案1】:

这是一个答案:https://stackoverflow.com/a/31831801/532675。 具体来说:

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
  }
}

【讨论】:

    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    相关资源
    最近更新 更多