From d62911b646020958ae5743ea76752a117b4f143e Mon Sep 17 00:00:00 2001 From: Katherine Date: Wed, 19 Feb 2025 09:47:05 +0800 Subject: [PATCH] fix: picker format mismatch in filter form field (#6234) * fix: picker format mismatch in filter form field * fix: bug --- lerna.json | 4 +--- .../src/application/CustomRouterContextProvider.tsx | 9 ++++++--- .../schema-component/antd/date-picker/DatePicker.tsx | 10 ++++++++-- .../src/schema-component/antd/date-picker/util.ts | 4 ++-- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lerna.json b/lerna.json index b7bb464e42..f248b2741e 100644 --- a/lerna.json +++ b/lerna.json @@ -2,9 +2,7 @@ "version": "1.5.10", "npmClient": "yarn", "useWorkspaces": true, - "npmClientArgs": [ - "--ignore-engines" - ], + "npmClientArgs": ["--ignore-engines"], "command": { "version": { "forcePublish": true, diff --git a/packages/core/client/src/application/CustomRouterContextProvider.tsx b/packages/core/client/src/application/CustomRouterContextProvider.tsx index 97d0659165..a4b6bd2124 100644 --- a/packages/core/client/src/application/CustomRouterContextProvider.tsx +++ b/packages/core/client/src/application/CustomRouterContextProvider.tsx @@ -67,8 +67,8 @@ const IsSubPageClosedByPageMenuContext = React.createContext<{ reset: () => void; }>({ isSubPageClosedByPageMenu: () => false, - setFieldSchema: () => { }, - reset: () => { }, + setFieldSchema: () => {}, + reset: () => {}, }); IsSubPageClosedByPageMenuContext.displayName = 'IsSubPageClosedByPageMenuContext'; @@ -92,7 +92,10 @@ export const IsSubPageClosedByPageMenuProvider: FC = ({ children }) => { prevParamsRef.current = {}; }, []); - const value = useMemo(() => ({ isSubPageClosedByPageMenu, setFieldSchema, reset }), [isSubPageClosedByPageMenu, reset]); + const value = useMemo( + () => ({ isSubPageClosedByPageMenu, setFieldSchema, reset }), + [isSubPageClosedByPageMenu, reset], + ); return ( {children} diff --git a/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx b/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx index 5775daa40e..bb5739cb8f 100644 --- a/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx +++ b/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx @@ -269,7 +269,7 @@ DatePicker.FilterWithPicker = function FilterWithPicker(props: any) { const value = Array.isArray(props.value) ? props.value[0] : props.value; const compile = useCompile(); const fieldSchema = useFieldSchema(); - const targetPicker = value ? inferPickerType(value) : picker; + const targetPicker = value ? inferPickerType(value, picker) : picker; const targetDateFormat = getPickerFormat(targetPicker) || format; const newProps = { utc, @@ -288,6 +288,12 @@ DatePicker.FilterWithPicker = function FilterWithPicker(props: any) { }; const field: any = useField(); const [stateProps, setStateProps] = useState(newProps); + useEffect(() => { + newProps.picker = targetPicker; + const dateTimeFormat = getDateTimeFormat(targetPicker, format, showTime, timeFormat); + newProps.format = dateTimeFormat; + setStateProps(newProps); + }, [targetPicker]); return (