UNPKG

@alitajs/antd-plus

Version:

基于 ant-design 封装的偏业务组件

80 lines (79 loc) 2.02 kB
import React from 'react'; import { RangePickerProps } from 'antd/es/date-picker'; import { RadioGroupProps } from 'antd/es/radio'; export declare type PeriodType = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second'; export declare type RangeValue<T = number> = [T, T] | null; export declare type ValueType<T = number> = { period: PeriodType; rangeTime: RangeValue<T>; } | RangeValue<T>; export interface PeriodData { /** * 间隔类型 */ periodType?: PeriodType; /** * 间隔值 */ periodValue?: number; } export interface OptionValue { /** * 粒度类型 */ value: PeriodType; /** * 粒度描述 */ label: string; /** * 粒度的数值 */ periodValue: number; } interface OtherProps { /** * 是否禁用选择 * 设置为false则value类型为: [number, number]; * 设置为true则value类型为 { * period: PeriodType; * rangeTime: [number, number] * } * @default true */ disabledSelect?: boolean; /** * 默认的时间 * 请注意设置则会在组件初始化时,触发onChange */ defaultTimes?: RangePickerProps['value']; /** * 切换区域与选择时间区域的间隔 */ spaceSize?: number; /** * 是否禁用今天之后的日期 * @default true */ disabledAfterToday?: boolean; /** * 粒度改变时是否清空时间 * @default true */ periodChangeClearDate?: boolean; /** * 时间框非空才可触发onChange * @default true */ dateNotNullChange?: boolean; /** * 选择项配置 */ options: OptionValue[]; optionType?: RadioGroupProps['optionType']; value?: ValueType; onChange?: (value: ValueType) => void; } export declare type RangePickerProProps = Omit<RangePickerProps, 'value' | 'onChange'> & OtherProps; declare const RangePickerPro: React.FC<RangePickerProProps>; export default RangePickerPro;