mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
fix(combo-box): reset values when manually clearing input field (#992)
This commit is contained in:
parent
a2a5159a59
commit
f6eb958732
1 changed files with 8 additions and 4 deletions
|
@ -108,11 +108,12 @@
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
let selectedId = undefined;
|
let selectedId = undefined;
|
||||||
|
let selectedItem = undefined;
|
||||||
let inputValue = value;
|
let inputValue = value;
|
||||||
|
let prevInputValue = undefined;
|
||||||
|
let prevSelectedIndex = undefined;
|
||||||
let highlightedIndex = -1;
|
let highlightedIndex = -1;
|
||||||
|
|
||||||
let selectedItem;
|
|
||||||
|
|
||||||
function change(dir) {
|
function change(dir) {
|
||||||
let index = highlightedIndex + dir;
|
let index = highlightedIndex + dir;
|
||||||
let _items = !filteredItems?.length ? items : filteredItems;
|
let _items = !filteredItems?.length ? items : filteredItems;
|
||||||
|
@ -132,13 +133,13 @@
|
||||||
selectedIndex = -1;
|
selectedIndex = -1;
|
||||||
highlightedIndex = -1;
|
highlightedIndex = -1;
|
||||||
highlightedId = undefined;
|
highlightedId = undefined;
|
||||||
|
selectedId = undefined;
|
||||||
selectedItem = undefined;
|
selectedItem = undefined;
|
||||||
open = false;
|
open = false;
|
||||||
inputValue = "";
|
inputValue = "";
|
||||||
ref?.focus();
|
ref?.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
let prevInputValue;
|
|
||||||
afterUpdate(() => {
|
afterUpdate(() => {
|
||||||
if (open) {
|
if (open) {
|
||||||
ref.focus();
|
ref.focus();
|
||||||
|
@ -156,7 +157,6 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let prevSelectedIndex;
|
|
||||||
$: if (selectedIndex > -1 && prevSelectedIndex !== selectedIndex) {
|
$: if (selectedIndex > -1 && prevSelectedIndex !== selectedIndex) {
|
||||||
prevSelectedIndex = selectedIndex;
|
prevSelectedIndex = selectedIndex;
|
||||||
if (filteredItems?.length === 1 && open) {
|
if (filteredItems?.length === 1 && open) {
|
||||||
|
@ -250,6 +250,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
inputValue = target.value;
|
inputValue = target.value;
|
||||||
|
if (!inputValue.length) {
|
||||||
|
clear();
|
||||||
|
open = true;
|
||||||
|
}
|
||||||
}}"
|
}}"
|
||||||
on:keydown
|
on:keydown
|
||||||
on:keydown|stopPropagation="{({ key }) => {
|
on:keydown|stopPropagation="{({ key }) => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue