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 bb5739cb8f..c866a27226 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 @@ -197,7 +197,7 @@ DatePicker.RangePicker = function RangePicker(props: any) { { label: t('Next 90 days'), value: rangesValue.next90Days }, ]; - const targetPicker = value ? inferPickerType(value?.[0]) : picker; + const targetPicker = value ? inferPickerType(value?.[0], picker) : picker; const targetDateFormat = getPickerFormat(targetPicker) || format; const newProps: any = { utc, diff --git a/packages/core/client/src/schema-component/antd/date-picker/util.ts b/packages/core/client/src/schema-component/antd/date-picker/util.ts index d84f498b3e..939a2644c1 100644 --- a/packages/core/client/src/schema-component/antd/date-picker/util.ts +++ b/packages/core/client/src/schema-component/antd/date-picker/util.ts @@ -271,7 +271,7 @@ function withParams(value: any[], params: { fieldOperator?: string; isParsingVar return value; } -export function inferPickerType(dateString: string, picker): 'year' | 'month' | 'quarter' | 'date' { +export function inferPickerType(dateString: string, picker?): 'year' | 'month' | 'quarter' | 'date' { if (/^\d{4}$/.test(dateString)) { return 'year'; } else if (/^\d{4}-\d{2}$/.test(dateString)) { @@ -281,6 +281,6 @@ export function inferPickerType(dateString: string, picker): 'year' | 'month' | } else if (/^\d{4}-\d{2}-\d{2}$/.test(dateString)) { return 'date'; } else { - return picker; + return picker || 'date'; } }