diff --git a/src/views/RegisterView.vue b/src/views/RegisterView.vue index e27093a..8d1187e 100644 --- a/src/views/RegisterView.vue +++ b/src/views/RegisterView.vue @@ -72,18 +72,36 @@ Город -
- + +
@@ -164,6 +182,9 @@ const errorMessage = ref(''); const loading = ref(false); const birthdateInput = ref(null); const cities = ref([]); +const citySearchQuery = ref(''); +const showCityList = ref(false); +const filteredCities = ref([]); // Функция для открытия календаря при клике на поле const openDatePicker = () => { @@ -268,6 +289,31 @@ const handleRegister = async () => { loading.value = false; } }; + +const onCitySearch = () => { + if (!citySearchQuery.value) { + filteredCities.value = []; + return; + } + + const query = citySearchQuery.value.toLowerCase(); + filteredCities.value = cities.value + .map(cityItem => cityItem.name) // Получаем только названия городов + .filter(cityName => cityName.toLowerCase().includes(query)) // Фильтруем по запросу + .slice(0, 10); // Ограничиваем количество результатов +}; + +const selectCity = (cityName) => { + city.value = cityName; + citySearchQuery.value = cityName; // Устанавливаем значение в поле ввода + showCityList.value = false; // Скрываем список городов +}; + +const clearCitySelection = () => { + city.value = ''; + citySearchQuery.value = ''; + filteredCities.value = []; +};