tdesign-react
Version:
TDesign Component for React
41 lines (40 loc) • 1.4 kB
TypeScript
import { ChangeEventHandler, MouseEvent, ClipboardEventHandler } from 'react';
import { TdUploadProps, UploadFile, UploadRemoveContext } from '../type';
/**
* 上传组件全部逻辑,方便脱离 UI,自定义 UI 组件
*/
export default function useUpload(props: TdUploadProps): {
t: Function;
locale: import("../..").UploadConfig;
classPrefix: string;
triggerUploadText: any;
toUploadFiles: UploadFile[];
uploadValue: UploadFile[];
displayFiles: UploadFile[];
sizeOverLimitMessage: string;
uploading: boolean;
tipsClasses: string;
errorClasses: string[];
placeholderClass: string;
inputRef: import("react").MutableRefObject<HTMLInputElement>;
disabled: boolean;
xhrReq: import("react").MutableRefObject<{
files: UploadFile[];
xhrReq: XMLHttpRequest;
}[]>;
uploadFilePercent: (params: {
file: UploadFile;
percent: number;
}) => void;
uploadFiles: (toFiles?: UploadFile[]) => void;
onFileChange: (files: File[]) => void;
onNormalFileChange: ChangeEventHandler<HTMLInputElement>;
onDragFileChange: (files: File[]) => void;
onPasteFileChange: ClipboardEventHandler<HTMLDivElement>;
onRemove: (p: UploadRemoveContext) => void;
triggerUpload: () => void;
cancelUpload: (context?: {
file?: UploadFile;
e?: MouseEvent<HTMLElement>;
}) => void;
};