UNPKG

@fruits-chain/react-native-xiaoshu

Version:
107 lines (106 loc) 2.34 kB
import type React from 'react'; import type { ImageSourcePropType } from 'react-native'; export declare type UploaderValue = { /** * 当前资源的唯一标识 */ key: string; /** * 文件路径 */ filepath: string; /** * 文件状态 * @default 'done' */ status?: 'loading' | 'done' | 'error'; [index: string]: any; }; export interface UploaderProps<T> { /** * 图片数组 */ list: T[]; /** * 文件上传数量限制 * @default Number.MAX_SAFE_INTEGER */ maxCount?: number; /** * 图片展示组件 * @default Image */ imageComponent?: React.ComponentType<{ source: ImageSourcePropType; [index: string]: any; }>; /** * 是否展示删除按钮 * @default true */ deletable?: boolean; /** * 是否展示上传区域 * @default true */ showUpload?: boolean; /** * 上传区域文字提示 * @default '图片' */ uploadText?: string; /** * 上传图标 */ uploadIcon?: React.ReactNode; /** * 点击选择按钮 */ onPressUpload?: () => void; /** * 缩略图尺寸 * @default 80 */ imageSize?: number; /** * 图片之间的间距 * @default uploader_image_gap */ imageGap?: number; /** * 点击某一个图片 */ onPressImage?: (current: UploaderValue, index: number, list: UploaderValue[]) => void; /** * 点击删除文件 */ onPressDelete?: (current: UploaderValue, index: number, list: UploaderValue[]) => void; /** * 点击上传出错的文件 */ onPressError?: (current: UploaderValue, index: number, list: UploaderValue[]) => void; } export interface UploaderImageProps extends Partial<Pick<UploaderValue, 'filepath' | 'status'>>, Pick<UploaderProps<UploaderValue>, 'imageComponent' | 'deletable'> { /** * 缩略图尺寸 * @default 80 */ size?: number; /** * 图片之间的间距 * @default uploader_image_gap */ gap?: number; /** * 点击图片 */ onPress?: () => void; /** * 点击删除图片 */ onPressDelete?: () => void; /** * 是否是上传按钮 */ isUpload?: boolean; }