diff --git a/src/components/utils/ListView.tsx b/src/components/utils/ListView.tsx index 3727e8f119..377ffb141b 100644 --- a/src/components/utils/ListView.tsx +++ b/src/components/utils/ListView.tsx @@ -92,13 +92,6 @@ export function ListView(props: IListViewProps(false); - // Update the key-to-index mapping whenever items change - useEffect(() => { - if (items.length && !tabIndexKey) { - setTabIndexKey(getItemKey(items[0])); - } - }, [items, getItemKey, tabIndexKey]); - // Update the key-to-index mapping whenever items change useEffect(() => { const newKeyToIndexMap = new Map(); @@ -109,6 +102,13 @@ export function ListView(props: IListViewProps { + if (items.length && (!tabIndexKey || keyToIndexMap.get(tabIndexKey) === undefined)) { + setTabIndexKey(getItemKey(items[0])); + } + }, [items, getItemKey, tabIndexKey, keyToIndexMap]); + /** * Scrolls to a specific item index and sets it as focused. * Uses Virtuoso's scrollIntoView method for smooth scrolling. @@ -254,8 +254,6 @@ export function ListView(props: IListViewProps