@alifd/meet-react
Version:
Fusion Mobile React UI System Component
51 lines (50 loc) • 1.73 kB
TypeScript
/// <reference types="react" />
import { Component, ReactNode } from 'react';
import { SelectDrawerProps } from '../../select-drawer';
import { AvailableDate } from '../../utils/date';
import { BasicSizeType } from '../../utils/types';
export interface BasePickerProps extends Omit<SelectDrawerProps, 'onOk'> {
prefix?: string;
value?: AvailableDate;
defaultValue?: AvailableDate;
disabledDate?: (value: Date, view: string) => boolean;
validRange?: [Date, Date];
format?: string;
mode?: 'calendar' | 'picker';
size?: BasicSizeType;
align?: 'left' | 'right';
iconType?: string;
placeholder?: string;
hasClear?: boolean;
disabled?: boolean;
readOnly?: boolean;
onChange?: (value: Date | null) => void;
onClear?: () => void;
onOk?: (value: Date) => void;
onVisibleChange?: (visible: boolean) => void;
onCancel?: (reason?: string) => void;
}
interface BasePickerState {
value: Date | null;
pickerValue: Date;
yearPickerVisible?: boolean;
}
declare abstract class BasePicker<T extends BasePickerProps = BasePickerProps> extends Component<T, BasePickerState> {
get format(): string;
ref: import("react").RefObject<unknown>;
calendarRef: import("react").RefObject<any>;
constructor(props: T);
handleChange(pickerValue: Date): void;
handleYearPickerVisibleChange(show: boolean): void;
handleOk(): boolean;
handleClear: () => void;
handleVisibleChange(to: boolean): void;
handleCancel(reason: any): void;
abstract renderPicker(): ReactNode;
abstract getDefaultFormat(): string;
componentDidUpdate(): void;
show(): void;
hide(): void;
render(): JSX.Element;
}
export default BasePicker;