Skip to content

Commit d875f02

Browse files
committed
fix: handle blink changes
1 parent 369599d commit d875f02

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

site/src/components/MultiSelectCombobox/MultiSelectCombobox.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -215,20 +215,19 @@ export const MultiSelectCombobox = forwardRef<
215215
const dropdownRef = useRef<HTMLDivElement>(null);
216216

217217
const [selected, setSelected] = useState<Option[]>(
218-
arrayDefaultOptions ?? [],
218+
value ?? arrayDefaultOptions ?? [],
219219
);
220220
const [options, setOptions] = useState<GroupOption>(
221221
transitionToGroupOption(arrayDefaultOptions, groupBy),
222222
);
223223
const [inputValue, setInputValue] = useState("");
224224
const debouncedSearchTerm = useDebouncedValue(inputValue, delay || 500);
225225

226-
// Handle controlled value prop
227-
useEffect(() => {
228-
if (value) {
229-
setSelected(value);
230-
}
231-
}, [value]);
226+
const [previousValue, setPreviousValue] = useState<Option[]>(value || []);
227+
if (value && value !== previousValue) {
228+
setPreviousValue(value);
229+
setSelected(value);
230+
}
232231

233232
useImperativeHandle(
234233
ref,

0 commit comments

Comments
 (0)