UNPKG

@flatbiz/antd

Version:
58 lines (55 loc) 2.1 kB
import { TAny } from '@flatbiz/utils'; import { DatePicker, GetProps } from 'antd'; export type TDayjsDateType = "YYYY-MM-DD HH:mm:ss" | "YYYY-MM-DD HH:mm" | "YYYY-MM-DD HH" | "YYYY-MM-DD" | (string & {}); export type RangePickerDateProps = GetProps<typeof DatePicker.RangePicker>; export type DateRangePickerWrapperProps = Omit<RangePickerDateProps, "value" | "onChange" | "onCalendarChange" | "format"> & { value?: [ string, string ]; onChange?: (value?: [ string, string ]) => void; /** * 1. minDate、maxDate 与 format格式相同;默认:YYYY-MM-DD * 2. maxDays 最大可选的天数 */ disabledDateConfig?: { minDate?: TDayjsDateType; maxDate?: TDayjsDateType; maxDays?: number; /** 禁用 小时 刻度列表,与日期无关 */ disabledHourList?: number[]; /** 禁用 分钟 刻度列表,与日期无关 */ disabledMinuteList?: number[]; /** 禁用 秒钟 刻度列表,与日期无关 */ disabledSecondList?: number[]; }; format?: TDayjsDateType; /** value 输出适配 */ outputNormalize?: (value: [ string, string ]) => TAny; /** value 输入适配 */ inputNormalize?: (value?: TAny) => [ string, string ] | undefined; }; /** * DatePicker.RangePicker包装组件 * ``` * 1. value类型为 [string, string],可以通过 inputNormalize来进行自定义转换 * 2. onChange返回类型 [string, string],可以通过 outputNormalize来进行自定义转换 * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss;其他格式化类型自定义format * 4. 可设置disabledDateConfig,来控制日期项的disbaled状态 * 5. 设置 disabledDate 后,disabledDateConfig配置将失效 * 6. 设置 disabledTime 后,内置的disabledTime逻辑将失效 * * TODO: 存在场景缺陷,当设置maxDays、showTime后,在选择单个日期不通过确认按钮直接切换输入框,无法获取回调,无法约束disabledDate * ``` */ export declare const DateRangePickerWrapper: (props: DateRangePickerWrapperProps) => import("react").JSX.Element; export {};