From b989340f84ca26db3fd398a73b047af7622716bb Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Tue, 6 Sep 2022 16:56:06 +0300 Subject: [PATCH] Refresh rows measurement by refreshing their keys Signed-off-by: Alex Andreev --- src/renderer/components/dock/logs/log-list.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/dock/logs/log-list.tsx b/src/renderer/components/dock/logs/log-list.tsx index d9bff7e3dd..4c80ebb9f7 100644 --- a/src/renderer/components/dock/logs/log-list.tsx +++ b/src/renderer/components/dock/logs/log-list.tsx @@ -6,6 +6,7 @@ import React, { useEffect, useRef } from 'react'; import type { LogTabViewModel } from './logs-view-model'; import { LogRow } from "./log-row"; import { cssNames } from "../../../utils"; +import { v4 as getRandomId } from "uuid"; export interface LogListProps { model: LogTabViewModel; @@ -14,6 +15,7 @@ export interface LogListProps { export const LogList = observer(({ model }: LogListProps) => { const [toBottomVisible, setToBottomVisible] = React.useState(false); const [lastLineVisible, setLastLineVisible] = React.useState(true); + const [rowKeySuffix, setRowKeySuffix] = React.useState(getRandomId()); const { visibleLogs } = model; const parentRef = useRef(null) @@ -82,6 +84,7 @@ export const LogList = observer(({ model }: LogListProps) => { useEffect(() => { rowVirtualizer.scrollToIndex(visibleLogs.get().length - 1, { align: 'end', smoothScroll: false }); + setRowKeySuffix(getRandomId()); }, [model.logTabData.get()]); useEffect(() => { @@ -102,7 +105,7 @@ export const LogList = observer(({ model }: LogListProps) => { > {rowVirtualizer.getVirtualItems().map((virtualRow) => (