refactor(ComboBox): simplified code in case of typed value and fallback value, resolve #1222

This commit is contained in:
István Pató 2022-08-04 10:40:34 +02:00
commit f3f9b753ce
No known key found for this signature in database
GPG key ID: 3A842123BFF8E969

View file

@ -299,25 +299,17 @@
} }
} else { } else {
// searching typed value in text list with lowercase // searching typed value in text list with lowercase
const matchedItem = filteredItems.find( const matchedItem =
(e) => filteredItems.find(
e.text.toLowerCase() === value?.toLowerCase() && !e.disabled (e) =>
); e.text.toLowerCase() === value?.toLowerCase() && !e.disabled
) ?? filteredItems.find((e) => !e.disabled);
if (matchedItem) { if (matchedItem) {
// typed value has matched // typed value has matched or fallback to first enabled item
open = false; open = false;
selectedItem = matchedItem; selectedItem = matchedItem;
value = selectedItem.text; value = selectedItem.text;
selectedId = selectedItem.id; selectedId = selectedItem.id;
} else {
open = false;
// find first enabled item
const matchedItem = filteredItems.find((e) => !e.disabled);
if (matchedItem) {
value = itemToString(matchedItem);
selectedItem = matchedItem;
selectedId = matchedItem.id;
}
} }
} }
highlightedIndex = -1; highlightedIndex = -1;