Better filtering and sorting of suggestions.

This commit is contained in:
2023-05-11 23:06:29 +02:00
parent c40d473fa5
commit 9ddbdb698c

View File

@@ -31,6 +31,15 @@ fun TypeaheadTextField(
var isFocused by remember { mutableStateOf(false) }
val focusManager = LocalFocusManager.current
var filtered = items.filter { it.isNotEmpty() && it != value }
if(value.isNotEmpty())
{
filtered = filtered.filter { it.contains(value) }
}
filtered = filtered.sorted().sortedBy { it.length }.take(5)
ExposedDropdownMenuBox(
expanded = isFocused,
modifier = modifier,
@@ -75,8 +84,8 @@ fun TypeaheadTextField(
.width(with(LocalDensity.current){dropDownWidth.toDp()}),
onDismissRequest = { }
) {
val filtered = items.filter { it.contains(value) && it.isNotBlank() }
filtered.forEach {
filtered.forEach {
DropdownMenuItem(
onClick = {
onValueChange(it)