1

我正在通过构建 RideSharing 应用程序来学习 React Native。我有一个功能,允许用户过滤FlatList具有多个乘车的组件,并且每个组件都有不同的items关联,例如日期,乘客数量,成本等......并且filteredDate,,filteredPassangersfilteredCost允许用户的状态变量选择他希望如何过滤。

我编写了过滤数据的函数,如下所示:

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),  


        //... 
    }

但是,当我更改多个变量的状态时,它不会返回任何骑行组件。

我如何编码以便一次过滤多个项目?

4

1 回答 1

1

在您的比较语句中,您已用逗号分隔它们。这样,只有最后一个语句被评估,即item.cost3 === filteredCost

or ( || )您可以使用这样的运算符过滤它们


item.date === filteredDate ||
item.To === filteredTo ||
item.passangers === filteredPassangers ||
item.date === filteredDate ||
item.cost3 === filteredCost

这样,如果您的任何条件为真,它将返回真。

于 2020-09-22T08:53:24.003 回答