Better filtering and sorting of suggestions.
This commit is contained in:
@@ -31,6 +31,15 @@ fun TypeaheadTextField(
|
|||||||
var isFocused by remember { mutableStateOf(false) }
|
var isFocused by remember { mutableStateOf(false) }
|
||||||
val focusManager = LocalFocusManager.current
|
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(
|
ExposedDropdownMenuBox(
|
||||||
expanded = isFocused,
|
expanded = isFocused,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
@@ -75,7 +84,7 @@ fun TypeaheadTextField(
|
|||||||
.width(with(LocalDensity.current){dropDownWidth.toDp()}),
|
.width(with(LocalDensity.current){dropDownWidth.toDp()}),
|
||||||
onDismissRequest = { }
|
onDismissRequest = { }
|
||||||
) {
|
) {
|
||||||
val filtered = items.filter { it.contains(value) && it.isNotBlank() }
|
|
||||||
filtered.forEach {
|
filtered.forEach {
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
onClick = {
|
onClick = {
|
||||||
|
|||||||
Reference in New Issue
Block a user