diff --git a/packages/grafana-ui/src/components/Table/Table.tsx b/packages/grafana-ui/src/components/Table/Table.tsx index 7bb9e9cf976..774856991cd 100644 --- a/packages/grafana-ui/src/components/Table/Table.tsx +++ b/packages/grafana-ui/src/components/Table/Table.tsx @@ -237,6 +237,17 @@ export const Table = memo((props: Props) => { setPageSize(pageSize); }, [pageSize, setPageSize]); + useEffect(() => { + // Reset page index when data changes + // This is needed because react-table does not do this automatically + // autoResetPage is set to false because setting it to true causes the issue described in + // https://github.com/grafana/grafana/pull/67477 + if (data.length / pageSize < state.pageIndex) { + gotoPage(0); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [data]); + useResetVariableListSizeCache(extendedState, listRef, data, hasUniqueId); useFixScrollbarContainer(variableSizeListScrollbarRef, tableDivRef);