Заполните ввод из другого ввода - PullRequest
0 голосов
/ 31 октября 2019

У меня есть функция поиска, при нажатии которой я хочу, чтобы она анализировала любой ввод, полученный с панели поиска, которую я создал, для панели поиска реагирующей таблицы соответственно.

https://codesandbox.io/s/mystifying-microservice-ywyt2

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете вручную фильтровать данные, используя метод Array.filter, для различных условий и приоритетов.

Вы можете обратиться к этой песочнице для базовой реализации.

Это базовая реализация, и вам нужно внести в нее изменения в соответствии с вашими данными

базовая функциональность, которую я написал для handleClick метода:

handleClick(e) {
  const regex = new RegExp(this.state.searchkey, "i");
  let filteredData = data.filter(item => regex.test(item.name));
  if (this.state.dept) {
    filteredData = filteredData.filter(item => item.dept === this.state.dept);
  }
  if (this.state.type) {
    filteredData = filteredData.filter(item => item.type === this.state.type);
  }
  this.setState({ filteredData });
}

PS: это не такидеальная логика может быть оптимизирована

...