From 2efdb7b887e74f73b7429688e24e1d7ae4625df2 Mon Sep 17 00:00:00 2001 From: yyh <92089059+lyzno1@users.noreply.github.com> Date: Fri, 19 Dec 2025 15:52:21 +0800 Subject: [PATCH] fix: workflow log search input controlled state (#29930) --- .../app/workflow-log/filter.spec.tsx | 22 ++++++++++++++----- .../components/app/workflow-log/filter.tsx | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/web/app/components/app/workflow-log/filter.spec.tsx b/web/app/components/app/workflow-log/filter.spec.tsx index d7bec41224..04216e5cc8 100644 --- a/web/app/components/app/workflow-log/filter.spec.tsx +++ b/web/app/components/app/workflow-log/filter.spec.tsx @@ -7,6 +7,7 @@ * - Keyword search */ +import { useState } from 'react' import { fireEvent, render, screen, waitFor } from '@testing-library/react' import userEvent from '@testing-library/user-event' import Filter, { TIME_PERIOD_MAPPING } from './filter' @@ -293,12 +294,21 @@ describe('Filter', () => { const user = userEvent.setup() const setQueryParams = jest.fn() - render( - , - ) + const Wrapper = () => { + const [queryParams, updateQueryParams] = useState(createDefaultQueryParams()) + const handleSetQueryParams = (next: QueryParam) => { + updateQueryParams(next) + setQueryParams(next) + } + return ( + + ) + } + + render() const input = screen.getByPlaceholderText('common.operation.search') await user.type(input, 'workflow') diff --git a/web/app/components/app/workflow-log/filter.tsx b/web/app/components/app/workflow-log/filter.tsx index 0c8d72c1be..a4db4c9642 100644 --- a/web/app/components/app/workflow-log/filter.tsx +++ b/web/app/components/app/workflow-log/filter.tsx @@ -65,7 +65,7 @@ const Filter: FC = ({ queryParams, setQueryParams }: IFilterProps) wrapperClassName='w-[200px]' showLeftIcon showClearIcon - value={queryParams.keyword} + value={queryParams.keyword ?? ''} placeholder={t('common.operation.search')!} onChange={(e) => { setQueryParams({ ...queryParams, keyword: e.target.value })