diff --git a/components/date-picker/generatePicker/constant.ts b/components/date-picker/generatePicker/constant.ts new file mode 100644 index 0000000000..1f3e180ff1 --- /dev/null +++ b/components/date-picker/generatePicker/constant.ts @@ -0,0 +1,5 @@ +export const [WEEK, WEEKPICKER] = ['week', 'WeekPicker'] as const; +export const [MONTH, MONTHPICKER] = ['month', 'MonthPicker'] as const; +export const [YEAR, YEARPICKER] = ['year', 'YearPicker'] as const; +export const [QUARTER, QUARTERPICKER] = ['quarter', 'QuarterPicker'] as const; +export const [TIME, TIMEPICKER] = ['time', 'TimePicker'] as const; diff --git a/components/date-picker/generatePicker/generateRangePicker.tsx b/components/date-picker/generatePicker/generateRangePicker.tsx index 346db2ab26..681e290c46 100644 --- a/components/date-picker/generatePicker/generateRangePicker.tsx +++ b/components/date-picker/generatePicker/generateRangePicker.tsx @@ -24,6 +24,7 @@ import { useCompactItemContext } from '../../space/Compact'; import enUS from '../locale/en_US'; import useStyle from '../style'; import { getRangePlaceholder, transPlacement2DropdownAlign, useIcons } from '../util'; +import { TIME } from './constant'; import type { RangePickerProps } from './interface'; import useComponents from './useComponents'; @@ -49,6 +50,7 @@ export default function generateRangePicker( status: customStatus, rootClassName, variant: customVariant, + picker, ...restProps } = props; @@ -56,7 +58,6 @@ export default function generateRangePicker( const { getPrefixCls, direction, getPopupContainer, rangePicker } = useContext(ConfigContext); const prefixCls = getPrefixCls('picker', customizePrefixCls); const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction); - const { picker } = props; const rootPrefixCls = getPrefixCls(); const [variant, enableVariantCls] = useVariant('rangePicker', customVariant, bordered); @@ -92,7 +93,7 @@ export default function generateRangePicker( const suffixNode = ( <> - {picker === 'time' ? : } + {picker === TIME ? : } {hasFeedback && feedbackIcon} ); @@ -125,6 +126,7 @@ export default function generateRangePicker( superPrevIcon={} superNextIcon={} transitionName={`${rootPrefixCls}-slide-up`} + picker={picker} {...restProps} className={classNames( { diff --git a/components/date-picker/generatePicker/generateSinglePicker.tsx b/components/date-picker/generatePicker/generateSinglePicker.tsx index d695fc245b..b4073d31b2 100644 --- a/components/date-picker/generatePicker/generateSinglePicker.tsx +++ b/components/date-picker/generatePicker/generateSinglePicker.tsx @@ -24,21 +24,27 @@ import { useCompactItemContext } from '../../space/Compact'; import enUS from '../locale/en_US'; import useStyle from '../style'; import { getPlaceholder, transPlacement2DropdownAlign, useIcons } from '../util'; +import { + MONTH, + MONTHPICKER, + QUARTER, + QUARTERPICKER, + TIME, + TIMEPICKER, + WEEK, + WEEKPICKER, + YEAR, + YEARPICKER, +} from './constant'; import type { GenericTimePickerProps, PickerProps, PickerPropsWithMultiple } from './interface'; import useComponents from './useComponents'; -const [WEEK, WEEKPICKER] = ['week', 'WeekPicker'] as const; -const [MONTH, MONTHPICKER] = ['month', 'MonthPicker'] as const; -const [YEAR, YEARPICKER] = ['year', 'YearPicker'] as const; -const [QUARTER, QUARTERPICKER] = ['quarter', 'QuarterPicker'] as const; -const [TIME, TIMEPICKER] = ['time', 'TimePicker'] as const; - const generatePicker = (generateConfig: GenerateConfig) => { type DatePickerProps = PickerProps; type TimePickerProps = GenericTimePickerProps; const getPicker =

(picker?: PickerMode, displayName?: string) => { - const consumerName = displayName === 'TimePicker' ? 'timePicker' : 'datePicker'; + const consumerName = displayName === TIMEPICKER ? 'timePicker' : 'datePicker'; const Picker = forwardRef((props, ref) => { const { prefixCls: customizePrefixCls,