如何在多种状态下处理数据以在React中过滤数据

时间:2019-07-08 07:45:44

标签: javascript reactjs

我正在尝试过滤状态表中存在的数据。我创建了2个状态,第1个用于在下拉菜单中存储数据,第二个用于存储在表中呈现的数据。

例如

this.state {
   dropdown:[],
   tabledata:[]
}

我正在将来自两个不同的其他终结点的数据设置为这两个状态。第一种状态用于将数据绑定到下拉列表,第二种状态用于将数据绑定到表。从下拉列表中选择数据时,如何处理过滤器逻辑?根据所选数据,应在表中对其进行过滤。

1 个答案:

答案 0 :(得分:0)

类似这样的东西:

constructor(props) {
    super(props);
    this.state = {
      dropdown: [],
      data: [],
      filteredData: [],
    }
  }
  onDropdownChange(e) {
    this.setState({
      filteredData: this.state.data.filter(() => // put your condition and return the data)
    })
  }
  render() {
    return (
      <div>
        <select onChange={this.onDropdownChange.bind(this)}>
          {
            this.state.dropdown.map((value) => <option value={value}>{value}</option>)
          }
        </select>
        <YourTable data={this.state.filteredData} />
      </div>
    )
  }