fix(combo-box): reset values when manually clearing input field (#992)

This commit is contained in:
Eric Liu 2022-01-10 13:05:32 -10:00 committed by GitHub
commit f6eb958732
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -108,11 +108,12 @@
const dispatch = createEventDispatcher();
let selectedId = undefined;
let selectedItem = undefined;
let inputValue = value;
let prevInputValue = undefined;
let prevSelectedIndex = undefined;
let highlightedIndex = -1;
let selectedItem;
function change(dir) {
let index = highlightedIndex + dir;
let _items = !filteredItems?.length ? items : filteredItems;
@ -132,13 +133,13 @@
selectedIndex = -1;
highlightedIndex = -1;
highlightedId = undefined;
selectedId = undefined;
selectedItem = undefined;
open = false;
inputValue = "";
ref?.focus();
}
let prevInputValue;
afterUpdate(() => {
if (open) {
ref.focus();
@ -156,7 +157,6 @@
}
});
let prevSelectedIndex;
$: if (selectedIndex > -1 && prevSelectedIndex !== selectedIndex) {
prevSelectedIndex = selectedIndex;
if (filteredItems?.length === 1 && open) {
@ -250,6 +250,10 @@
}
inputValue = target.value;
if (!inputValue.length) {
clear();
open = true;
}
}}"
on:keydown
on:keydown|stopPropagation="{({ key }) => {