mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-20 20:33:02 +00:00
refactor(ComboBox): simplified code in case of typed value and fallback value, resolve #1222
This commit is contained in:
parent
ee09a8718c
commit
f3f9b753ce
1 changed files with 6 additions and 14 deletions
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue