From 3cfef4a990ea0fb0eedee495c7f25655492b89ae Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Thu, 12 Nov 2026 15:22:58 +0800 Subject: [PATCH] perf(logs): skip unnecessary filtering work --- src/pages/logs.tsx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/pages/logs.tsx b/src/pages/logs.tsx index ca42bc8a9..ad3231362 100644 --- a/src/pages/logs.tsx +++ b/src/pages/logs.tsx @@ -39,21 +39,18 @@ const LogPage = () => { return [] } - // Server-side filtering handles level filtering via query parameters - // We only need to apply search filtering here + const hasSearch = searchState.text.length > 0 + if (!hasSearch && logState === 'all') return logData + return logData.filter((data) => { - // 构建完整的搜索文本,包含时间、类型和内容 + if (logState !== 'all' && !data.type.includes(logState)) return false + if (!hasSearch) return true + const searchText = `${data.time || ''} ${data.type} ${data.payload}`.toLowerCase() - - const matchesSearch = match(searchText) - - return ( - (logState == 'all' ? true : data.type.includes(logState)) && - matchesSearch - ) + return match(searchText) }) - }, [logData, logState, match]) + }, [logData, logState, match, searchState.text]) const filteredLogs = useMemo( () => (isDescending ? [...filterLogs].reverse() : filterLogs),