Я добавил панель поиска с помощью TextField. Когда пользователь начинает вводить текстовое поле, на основе этого запроса я делаю вызов API, чтобы получить доступные названия городов. Я хочу показывать результаты предложений, если текст пользователя совпадает. Как отобразить результаты предложений в пользовательском интерфейсе. Я добавил код ниже. Мой вызов API выполнен успешно, но не отображается в пользовательском интерфейсе.

Запрос var: строка от RememberSaveable {mutableStateOf("") } Scaffold(topBar = { Поверхность( модификатор = Модификатор .fillMaxWidth() .height(56.dp), цвет = MaterialTheme.colorScheme.primary ) { TextField(модификатор = Модификатор .fillMaxWidth(), значение = запрос, onValueChange = { запрос = это viewModel.fetchCityList(оно) }, заполнитель = { Текст( text = "Искать здесь...", цвет = Цвет.Белый ) }, текстовый стиль = текстовый стиль( fontSize = MaterialTheme.typography.bodySmall.fontSize ), одиночная линия = правда, ведущийIcon = { ЗначокКнопка( onClick = { запрос = "" } ) { Икона( imageVector = Значки.По умолчанию.Поиск, contentDescription = "Значок поиска", оттенок = Цвет.Белый ) } }, трейлингИкон = { ЗначокКнопка( onClick = { } ) { Икона( imageVector = Icons.Default.Close, contentDescription = "Значок закрытия", оттенок = Цвет.Белый ) } }, Параметры клавиатуры = Параметры клавиатуры( imeAction = ImeAction.Поиск ), действия клавиатуры = Действия клавиатуры( onSearch = { } )) } }) { ЛенивыйКолумн { элементы (uiState.value.queryCityList) { Текст(текст = it.name.toString()) } } }
Мобильная версия