🐛 (autocomplete) fix multi-select (#947)

This commit is contained in:
Matiss Janis Aboltins
2023-04-23 17:31:07 +01:00
committed by GitHub
parent 6325a36847
commit 89c065e401
2 changed files with 14 additions and 4 deletions

View File

@@ -126,6 +126,7 @@ function SingleAutocomplete({
onSelect, onSelect,
tableBehavior, tableBehavior,
value: initialValue, value: initialValue,
isMulti = false,
}) { }) {
const [selectedItem, setSelectedItem] = useState(() => const [selectedItem, setSelectedItem] = useState(() =>
findItem(strict, suggestions, initialValue), findItem(strict, suggestions, initialValue),
@@ -174,7 +175,12 @@ function SingleAutocomplete({
onSelect={(item, { inputValue }) => { onSelect={(item, { inputValue }) => {
setSelectedItem(item); setSelectedItem(item);
setHighlightedIndex(null); setHighlightedIndex(null);
setIsOpen(false);
if (isMulti) {
setValue('');
} else {
setIsOpen(false);
}
if (onSelect) { if (onSelect) {
// I AM NOT PROUD OF THIS OK?? // I AM NOT PROUD OF THIS OK??
@@ -267,9 +273,6 @@ function SingleAutocomplete({
) { ) {
setHighlightedIndex(changes.highlightedIndex); setHighlightedIndex(changes.highlightedIndex);
} }
if ('isOpen' in changes) {
setIsOpen(embedded ? true : changes.isOpen);
}
if ('selectedItem' in changes) { if ('selectedItem' in changes) {
setSelectedItem(changes.selectedItem); setSelectedItem(changes.selectedItem);
} }
@@ -506,6 +509,7 @@ export function MultiAutocomplete({
return ( return (
<Autocomplete <Autocomplete
{...props} {...props}
isMulti
value={null} value={null}
suggestions={suggestions.filter( suggestions={suggestions.filter(
item => !selectedItems.includes(getItemId(item)), item => !selectedItems.includes(getItemId(item)),

View File

@@ -0,0 +1,6 @@
---
category: Bugfix
authors: [MatissJanis]
---
Autocomplete: fix multi-autocomplete filtering UX