React中的过滤器列表

时间:2019-02-27 13:53:25

标签: javascript reactjs filter

我在这里有问题。我有一个React API,我想创建一个选择框以按特定属性过滤数据。

constructor() {

    super();
    this.state = {
        results: []
    };
}

我收到带有名称和等级的物品清单。我想用选择过滤。如果我只想查看评级为5或更高的项目,请选择5。

return (

<div className="container clearfix">
  {/* value={props.search}  */}
  <select>
    <option value="" />
    <option value="10">10</option>
    <option value="9">9</option>
    <option value="8">8</option>
  </select>
  <div>
    {props.results

      .map(item=> (
        <div key={item.id} className="item-holder">
          <img src={`${imagePath}${item.image}`} />
          <span className="votes">{item.rating}</span>
          <p>{item.title}</p>
        </div>
      ))}
  </div>
</div>

);

TX!

1 个答案:

答案 0 :(得分:2)

您需要将监听器附加到Select,例如

<Select onChange={(event) => this.setState({filterValue: event.target.value})}

然后您可以使用过滤结果

props.results.filter((item) => item.rating >= this.state.filterValue)
             .map(...)