fix(multi-select): pressing Enter should toggle menu, Space should select item

This commit is contained in:
Eric Liu 2022-02-16 07:26:05 -08:00
commit 636e89cb1e

View file

@ -326,8 +326,15 @@
e.preventDefault();
}
if (key === ' ') {
if (key === ' ' || key === 'Enter') {
if (highlightedIndex > -1) {
sortedItems = sortedItems.map((item, i) => {
if (i !== highlightedIndex) return item;
return { ...item, checked: !item.checked };
});
} else {
open = !open;
}
} else if (key === 'Tab') {
if (selectionRef && checked.length > 0) {
selectionRef.focus();
@ -339,13 +346,6 @@
change(1);
} else if (key === 'ArrowUp') {
change(-1);
} else if (key === 'Enter') {
if (highlightedIndex > -1) {
sortedItems = sortedItems.map((item, i) => {
if (i !== highlightedIndex) return item;
return { ...item, checked: !item.checked };
});
}
} else if (key === 'Escape') {
open = false;
}