Advertisement
Guest User

Untitled

a guest
Oct 30th, 2022
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | Software | 0 0
  1. import '../../header.sass';
  2. import React, {useEffect, useState} from "react";
  3. import Select, { components } from 'react-select';
  4. import dummy from './dummy';
  5. import AsyncSelect from "react-select/async";
  6.  
  7. // Тут были не нужные стили
  8.  
  9. function SelectsDrop() {
  10. const [items, setItems] = useState([]);
  11.  
  12. // Тут я пытался по документации и подсказкам заставить работать поиск, если в loadOptions вывести fetchData то данные работают, но сам поиск не работает и я пытался их вывести через фильтр как в документации (Она ещё и на тайпскрипте написана пиздец), чтобы сравнивать инпут и базу.
  13.  
  14. const fetchData = inputValue => {
  15. return dummy.get(`/country?query=${inputValue}`).then(result => {
  16. const res = result.data.data;
  17. return res;
  18. });
  19. }
  20.  
  21.  
  22. const filterColors = (inputValue) => {
  23. return Object.values(fetchData).filter((i) =>
  24. i.name.toLowerCase().includes(inputValue.toLowerCase())
  25. );
  26. };
  27.  
  28. const loadOptions = (
  29. inputValue
  30. ) => {
  31. setTimeout(() => {
  32. (filterColors(inputValue));
  33. }, 1000);
  34. };
  35.  
  36.  
  37. return (
  38. <div className="city__select">
  39.  
  40. <AsyncSelect
  41. components={{DropdownIndicator}}
  42. placeholder={"Выбор страны"}
  43. cacheOptions
  44. defaultOptions
  45. getOptionLabel={e => e.name}
  46. getOptionValue={e => e.id}
  47. styles={customStyles}
  48. loadOptions={loadOptions}
  49. />
  50.  
  51. </div>
  52. )
  53.  
  54. }
  55. export default SelectsDrop;
Tags: react
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement