2017-12-15 17 views
2

現在の検索フィルタは、結果を「packageName」フィールドのみでフィルタリングします。今私は 'dateStart'と 'dateFinish'フィールドでもフィルタリングする必要があります。複数の基準で結果をフィルタリングする方法は?

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

複数のフィールド/条件で結果をフィルタリングするにはどうすればよいですか?

+0

ここで、複数のキーフィルターを作成する方法を参照してください:https://stackoverflow.com/questions/31831651/javascript-filter-array-multiple-conditions。具体的に – lexeme

答えて

0

回答は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 
    } 
}