diff --git a/src/PickerInput/RangePicker.tsx b/src/PickerInput/RangePicker.tsx index 9c1c5d676..f4d8095b8 100644 --- a/src/PickerInput/RangePicker.tsx +++ b/src/PickerInput/RangePicker.tsx @@ -51,6 +51,9 @@ export type RangeValueType = [ end: DateType | null | undefined, ]; +/** Used for change event, it should always be not undefined */ +export type NoUndefinedRangeValueType = [start: DateType | null, end: DateType | null]; + export interface BaseRangePickerProps extends Omit, 'showTime' | 'id'> { // Structure @@ -61,13 +64,13 @@ export interface BaseRangePickerProps // Value value?: RangeValueType | null; defaultValue?: RangeValueType; - onChange?: (dates: RangeValueType, dateStrings: [string, string]) => void; + onChange?: (dates: NoUndefinedRangeValueType, dateStrings: [string, string]) => void; onCalendarChange?: ( - dates: RangeValueType, + dates: NoUndefinedRangeValueType, dateStrings: [string, string], info: BaseInfo, ) => void; - onOk?: (values: RangeValueType) => void; + onOk?: (values: NoUndefinedRangeValueType) => void; // Placeholder placeholder?: [string, string]; @@ -118,7 +121,7 @@ export interface BaseRangePickerProps mode?: [startMode: PanelMode, endMode: PanelMode]; /** Trigger on each `mode` or `pickerValue` changed. */ onPanelChange?: ( - values: RangeValueType, + values: NoUndefinedRangeValueType, modes: [startMode: PanelMode, endMode: PanelMode], ) => void; }