import React, { useEffect, useState } from "react"; import axios from "axios"; const City = (props) => { const route = props.getValue; const setUserData = props.setUserData const [cityOptions, setCityOptions] = useState([]); const [filteredCityOptions, setFilteredCityOptions] = useState([]); const [selectedCity, setSelectedCity] = useState(''); const [buttonsVisible, setButtonsVisible] = useState(false); const cityHandler = (e) => { setSelectedCity(e.target.value); }; const options = { method: 'GET', url: 'https://easytravel.zetcraft.ru/v1/GetAllCity', }; useEffect(() => { axios.request(options) .then(function (response) { console.log(response.data); setCityOptions(response.data); setFilteredCityOptions(response.data); }) .catch(function (error) { console.error(error); }); }, []); useEffect(() => { const filteredOptions = cityOptions.filter(option => option.name.toLowerCase().includes(selectedCity.toLowerCase()) ); setFilteredCityOptions(filteredOptions); setTimeout(() => { setButtonsVisible(selectedCity !== ''); }, 300); }, [selectedCity, cityOptions]); useEffect(() => { const filteredOptions = cityOptions.filter(option => option.name.toLowerCase().includes(selectedCity.toLowerCase()) ); setFilteredCityOptions(filteredOptions); }, [selectedCity, cityOptions]); return (
#
Выберите город
{buttonsVisible ? (
) : null}
); } export default City;