@gdjiami/jm-mrc-components
Version:
移动端可复用组件库
57 lines (56 loc) • 1.42 kB
TypeScript
/**
* 时间选择器
*/
import React from 'react';
export interface DateTimePickerProps {
value?: Date;
title?: string;
onChange?: (value: Date) => void;
disabledBefore?: Date;
disabledAfter?: Date;
children: (value: Date, onClick: () => void) => React.ReactNode;
}
declare type NormalizeValue = [string, number, number];
declare type DateList = {
before?: Date;
after?: Date;
list: Array<{
label: string;
value: string;
}>;
};
declare type LabelList = Array<{
label: string;
value: number;
}>;
declare type HourList = {
before: LabelList;
after: LabelList;
normal: LabelList;
inSameComponent: boolean;
};
declare type MinuteList = HourList;
interface State {
base: Date;
lastValue?: Date;
value: NormalizeValue;
visible?: boolean;
dateList: DateList;
hourList: HourList;
minuteList: MinuteList;
}
export default class DateTimePicker extends React.Component<DateTimePickerProps> {
state: State;
static defaultProps: {
title: string;
};
static getDerivedStateFromProps(nextProps: DateTimePickerProps, prevState: State): Partial<State>;
render(): JSX.Element;
private renderHour;
private renderMin;
private handleOk;
private handleSelectChange;
private handleShow;
private handleCancel;
}
export {};