Jan
09/21/2023, 7:52 PMvar expandSuggestions by remember { mutableStateOf(false) }
ExposedDropdownMenuBox(expanded = expandSuggestions, onExpandedChange = { expandSuggestions = it }) {
ErrorOutlinedTextField(
modifier = Modifier.menuAnchor(),
value = subject,
onValueChange = { onSubjectChange(it); expandSuggestions = true },
label = { Text(stringResource(R.string.subject)) },
leadingIcon = { Icon(rememberTypeSpecimen(), contentDescription = null) },
singleLine = true,
errorDisplayDelay = 150.milliseconds,
displayError = isError && subject.text.isBlank(),
)
ExposedDropdownMenu(
expanded = suggestions.isNotEmpty() && subject.text.isNotBlank() && expandSuggestions,
onDismissRequest = { expandSuggestions = false },
) {
suggestions.forEach {
DropdownMenuItem(
text = { Text(it) },
onClick = {
onSubjectChange(TextFieldValue(it, TextRange(it.length)));
expandSuggestions = false
},
contentPadding = ExposedDropdownMenuDefaults.ItemContentPadding,
)
}
}
}