diff --git a/ui/v2/src/components/select/FilterSelect.tsx b/ui/v2/src/components/select/FilterSelect.tsx index 9b91e603c..6736fa880 100644 --- a/ui/v2/src/components/select/FilterSelect.tsx +++ b/ui/v2/src/components/select/FilterSelect.tsx @@ -58,16 +58,18 @@ export const FilterSelect: React.FunctionComponent = (props: IProps) => /* eslint-disable react-hooks/rules-of-hooks */ const [selectedItem, setSelectedItem] = React.useState(undefined); - const [isInitialized, setIsInitialized] = React.useState(false); - /* eslint-enable */ - if (!!props.initialId && !selectedItem && !isInitialized) { - const initialItem = items.find((item) => props.initialId === item.id); - if (!!initialItem) { - setSelectedItem(initialItem); - setIsInitialized(true); + React.useEffect(() => { + if (!!items) { + const initialItem = items.find((item) => props.initialId === item.id); + if (!!initialItem) { + setSelectedItem(initialItem); + } else { + setSelectedItem(undefined); + } } - } + }, [props.initialId, items]); + /* eslint-enable */ const renderItem: ItemRenderer = (item, itemProps) => { if (!itemProps.modifiers.matchesPredicate) { return null; }