UNPKG

@fruits-chain/react-native-xiaoshu

Version:
66 lines (65 loc) 1.92 kB
import type React from 'react'; import type { TextProps } from 'react-native'; import type { PickerViewProps, PickerValue, Column } from '../picker-view/interface'; import type { PopupPropsCommon } from '../popup/interface'; export declare type PickerAction = 'cancel' | 'confirm' | 'overlay'; export interface PickerProps extends PickerViewProps, PopupPropsCommon { /** * 顶部栏标题 */ title?: React.ReactNode; /** * 确认按钮文字 * @default '确认' */ confirmButtonText?: string; /** * 取消按钮文字 * @default '取消' */ cancelButtonText?: string; /** * 顶部栏位置 * @default 'top' */ toolbarPosition?: 'top' | 'bottom'; /** * 是否显示顶部栏 * @default true */ showToolbar?: boolean; /** * 点击取消按钮时触发 */ onCancel?: TextProps['onPress']; /** * 点击完成按钮时触发 */ onConfirm?: TextProps['onPress']; } export interface PickerMethodProps extends Omit<PickerProps, 'visible' | 'value' | 'onChange' | 'loading' | 'onCancel' | 'onConfirm' | 'onPressOverlay' | 'onRequestClose'> { /** * 点击取消 */ onCancel?: (values: PickerValue[], columns: Column[]) => void; /** * 点击确定 */ onConfirm?: (values: PickerValue[], columns: Column[]) => void; /** * 点击遮罩层 */ onPressOverlay?: (values: PickerValue[], columns: Column[]) => void; /** * 关闭前的回调函数,返回 false 可阻止关闭,支持返回 Promise */ beforeClose?: (action: PickerAction, values: PickerValue[], columns: Column[]) => boolean | Promise<boolean>; } export interface PickerInstance { (p: PickerMethodProps): Promise<{ action: PickerAction; values: PickerValue[]; columns: Column[]; }>; Component: React.FC<PickerProps>; }