@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
114 lines (113 loc) • 3.32 kB
TypeScript
/// <reference types="react" />
import type { DatePickerViewProps, DatePickerColumnMode } from '../date-picker-view/interface';
import type { PopupPropsCommon } from '../popup/interface';
export declare type DatePickerAction = 'cancel' | 'confirm' | 'overlay';
export declare type DatePickerRangeValue = [Date, Date];
export interface DatePickerSingleMethodProps extends Omit<DatePickerViewProps, 'value' | 'onChange' | 'loading'>, Omit<PopupPropsCommon, 'onPressOverlay' | 'visible' | 'onRequestClose'> {
/**
* 顶部栏标题
*/
title?: React.ReactNode;
/**
* 确认按钮文字
* @default '确认'
*/
confirmButtonText?: string;
/**
* 取消按钮文字
* @default '取消'
*/
cancelButtonText?: string;
/**
* 点击取消
*/
onCancel?: (value: Date) => void;
/**
* 点击确定
*/
onConfirm?: (value: Date) => void;
/**
* 点击遮罩层
*/
onPressOverlay?: (value: Date) => void;
/**
* 关闭前的回调函数,返回 false 可阻止关闭,支持返回 Promise
*/
beforeClose?: (action: DatePickerAction, value: Date) => boolean | Promise<boolean>;
}
export interface DatePickerRangeViewProps extends Omit<DatePickerViewProps, 'value' | 'defaultValue' | 'onChange' | 'mode'> {
/**
* 日期选择的类型
* @default 'Y-D'
*/
mode?: DatePickerColumnMode;
/**
* 默认时间组
*/
defaultValue?: DatePickerRangeValue;
/**
* 选中时间组
*/
value?: DatePickerRangeValue;
/**
* 初始值,只有初始化以及重置时生效
* @default [null, null]
*/
initialValue?: DatePickerRangeValue;
/**
* 确认按钮文字
* @default '确认'
*/
confirmButtonText?: string;
/**
* 重置按钮文字
* @default '重置'
*/
resetButtonText?: string;
/**
* 站位文案
* @default ['请选择', '请选择']
*/
placeholder?: [string, string];
/**
* 点击确定
*/
onConfirm?: (values: DatePickerRangeValue) => void;
/**
* 触发改变
*/
onChange?: (values: DatePickerRangeValue) => void;
}
export interface DatePickerRangeMethodProps extends Omit<DatePickerRangeViewProps, 'loading' | 'value' | 'onChange' | 'onConfirm'>, Omit<PopupPropsCommon, 'visible' | 'onPressOverlay' | 'onRequestClose'> {
/**
* 顶部栏标题
*/
title?: React.ReactNode;
/**
* 点击取消
*/
onCancel?: (values: DatePickerRangeValue) => void;
/**
* 点击确定
*/
onConfirm?: (values: DatePickerRangeValue) => void;
/**
* 点击遮罩层
*/
onPressOverlay?: (values: DatePickerRangeValue) => void;
/**
* 关闭前的回调函数,返回 false 可阻止关闭,支持返回 Promise
*/
beforeClose?: (action: DatePickerAction, value: DatePickerRangeValue) => boolean | Promise<boolean>;
}
export interface DatePickerInstance {
(p: DatePickerSingleMethodProps): Promise<{
action: DatePickerAction;
value: Date;
}>;
range: (p: DatePickerRangeMethodProps) => Promise<{
action: DatePickerAction;
values: DatePickerRangeValue;
}>;
RangeView: React.FC<DatePickerRangeViewProps>;
}