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),