【发布时间】:2021-11-25 19:49:09
【问题描述】:
我有一个显示产品的 Web 应用程序,并有两个复选框作为过滤器。 “显示可用产品”和“显示带有照片的产品”。
当您单独单击其中任何一个时,它们会自行正确过滤。如果您同时选中两个复选框,它们将无法一起使用。
到目前为止我对以下过滤器代码的了解:
const getFilteredSearchResults = (filters: Types.searchFilters, famData) => {
//filter based on all search filters
let filteredResults = _.filter(famData, function (p) {
//apply filters
if (
typeof p["serial-number"] === "undefined" ||
(filters.rentalFleetAvailability && p["availability"] === "No") ||
(filters.rentalFleetWithImages &&
(p["photos"] === undefined || !p["photos"].length))
) {
return false; //don't include in listings
} else if (
filters.rentalFleetAvailability &&
p["availability"] === "Yes" &&
filters.rentalFleetWithImages &&
p["photos"].length
) {
return true; //include in listings
} else {
return true; //include in listings
}
});
};
【问题讨论】:
-
在你的 else 中添加第二个条件(另一个 if)并且只有在两者都满足时才返回 true
-
@VojinPurić 感谢您的建议!刚刚添加了你提到的第二个条件,没有用。我编码正确吗?
标签: javascript arrays reactjs