jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
49 lines (48 loc) • 1.72 kB
TypeScript
/**
* 时间选择器组件
*/
import React from 'react';
import type { Moment } from 'moment';
import moment from 'moment';
import type { DatePickerProps } from '../types';
interface DatePickerState {
isOpened: boolean;
isFocused: boolean;
value: moment.Moment | undefined;
inputValue: string | undefined;
}
export declare class DatePicker extends React.Component<DatePickerProps, DatePickerState> {
static defaultProps: Partial<DatePickerProps>;
state: DatePickerState;
constructor(props: DatePickerProps);
dom: HTMLDivElement;
inputRef: React.RefObject<HTMLInputElement>;
inputValueCache: string;
componentDidMount(): void;
componentDidUpdate(prevProps: DatePickerProps): void;
focus(): void;
handleFocus(e: React.SyntheticEvent<HTMLDivElement>): void;
handleBlur(e: React.SyntheticEvent<HTMLDivElement>): void;
handleKeyPress(e: React.KeyboardEvent): void;
handleClick(): void;
handlePopOverClick(e: React.MouseEvent<any>): void;
open(fn?: () => void): void;
close(): void;
clearValue(e: React.MouseEvent<any>): void;
clear(): void;
reset(resetValue?: any): void;
handleChange(value: moment.Moment): void;
inputChange(e: React.ChangeEvent<HTMLInputElement>): void;
onInputBlur(): void;
setShortcutDate: (item: {
label: string;
date: (now?: Moment) => Moment;
}) => void;
checkIsValidDate(currentDate: moment.Moment): boolean;
getTarget(): HTMLDivElement;
getParent(): HTMLDivElement;
domRef: (ref: HTMLDivElement) => void;
renderShortCuts: (shortcuts?: DatePickerProps["shortcuts"]) => JSX.Element | null;
render(): JSX.Element;
}
export default DatePicker;