用几个项目过滤扁平化列表
Filtering flatilist with several items
我正在通过构建 RideSharing 应用程序来学习 React Native。我有一个功能,允许用户过滤 FlatList
组件与多个行程,每个组件都有不同的 items
相关联,如日期、乘客人数、费用等...和filteredDate
、filteredPassangers
、filteredCost
是允许用户选择他希望如何过滤的状态变量。
我写了这样过滤数据的函数:
function filter() {
const newData1 = lists.filter(
item => {
return item.date === filteredDate,
item.To === filteredTo,
item.passangers === filteredPassangers,
item.date === filteredDate,
item.cost3 === filteredCost
})
props.setLists(newData1),
//...
}
但是,当我更改多个变量的状态时,它不会 return 任何骑行组件。
如何编写代码以便一次过滤多个项目?
在你的比较语句中,你用逗号分隔了它们。这样只有最后一个语句被评估,即 item.cost3 === filteredCost
您可以像这样使用 or ( || )
运算符过滤它们
item.date === filteredDate ||
item.To === filteredTo ||
item.passangers === filteredPassangers ||
item.date === filteredDate ||
item.cost3 === filteredCost
这样,如果您的任何条件为真,它将 return 为真。
我正在通过构建 RideSharing 应用程序来学习 React Native。我有一个功能,允许用户过滤 FlatList
组件与多个行程,每个组件都有不同的 items
相关联,如日期、乘客人数、费用等...和filteredDate
、filteredPassangers
、filteredCost
是允许用户选择他希望如何过滤的状态变量。
我写了这样过滤数据的函数:
function filter() {
const newData1 = lists.filter(
item => {
return item.date === filteredDate,
item.To === filteredTo,
item.passangers === filteredPassangers,
item.date === filteredDate,
item.cost3 === filteredCost
})
props.setLists(newData1),
//...
}
但是,当我更改多个变量的状态时,它不会 return 任何骑行组件。
如何编写代码以便一次过滤多个项目?
在你的比较语句中,你用逗号分隔了它们。这样只有最后一个语句被评估,即 item.cost3 === filteredCost
您可以像这样使用 or ( || )
运算符过滤它们
item.date === filteredDate ||
item.To === filteredTo ||
item.passangers === filteredPassangers ||
item.date === filteredDate ||
item.cost3 === filteredCost
这样,如果您的任何条件为真,它将 return 为真。