mealcomes
Version:
MealComes 用于学习前端的组件库
189 lines (188 loc) • 5.9 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { UploadAjaxError } from './ajax';
import { default as Upload } from './upload.vue';
export declare const uploadListTypes: readonly ["text", "picture", "picture-card"];
export declare const genFileId: () => number;
export type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail';
export type UploadProgressEvent = ProgressEvent & {
percent: number;
};
export interface UploadRequestOptions {
action: string;
method: string;
data: Record<string, string | Blob | [Blob, string]>;
filename: string;
file: UploadRawFile;
headers: Headers | Record<string, string | number | null | undefined>;
onError: (evt: UploadAjaxError) => void;
onProgress: (evt: UploadProgressEvent) => void;
onSuccess: (response: any) => void;
}
export interface UploadFile {
uid?: number;
name: string;
url?: string;
percentage?: number;
raw?: UploadRawFile;
size?: number;
status: UploadStatus;
response?: unknown;
}
export type UploadFiles = UploadFile[];
export declare const uploadBaseProps: {
readonly fileList: {
readonly type: PropType<UploadFiles>;
readonly default: () => readonly [];
};
readonly action: {
readonly type: StringConstructor;
readonly default: "";
};
readonly multiple: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly name: {
readonly type: StringConstructor;
readonly default: "file";
};
readonly accept: {
readonly type: StringConstructor;
readonly default: "";
};
readonly method: {
readonly type: StringConstructor;
readonly default: "post";
};
readonly headers: {
readonly type: ObjectConstructor;
readonly default: () => {};
};
readonly data: {
readonly type: ObjectConstructor;
readonly default: () => {};
};
readonly autoUpload: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly listType: {
readonly type: StringConstructor;
readonly values: readonly ["text", "picture", "picture-card"];
readonly default: "text";
};
readonly limit: {
readonly type: NumberConstructor;
};
readonly drag: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly directory: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
export type UploadRawFile = File & {
uid: number;
};
export declare const uploadProps: {
readonly beforeUpload: {
readonly type: PropType<(file: UploadRawFile) => Promise<boolean> | boolean>;
readonly default: () => void;
};
readonly onPreview: {
readonly type: PropType<(file: UploadFile) => void>;
readonly default: () => void;
};
readonly onChange: {
readonly type: PropType<(file: UploadFile, uploadFiles: UploadFiles) => void>;
readonly default: () => void;
};
readonly beforeRemove: {
readonly type: PropType<(file: UploadFile, uploadFiles: UploadFiles) => Promise<boolean> | boolean>;
readonly default: () => void;
};
readonly onProgress: {
readonly type: PropType<(evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
readonly default: () => void;
};
readonly onRemove: {
readonly type: PropType<(file: UploadFile, uploadFiles: UploadFiles) => void>;
readonly default: () => void;
};
readonly onSuccess: {
readonly type: PropType<(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
readonly default: () => void;
};
readonly onError: {
readonly type: PropType<(error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
readonly default: () => void;
};
readonly onExceed: {
readonly type: PropType<(files: File[], uploadFiles: UploadFile[]) => void>;
readonly default: () => void;
};
readonly fileList: {
readonly type: PropType<UploadFiles>;
readonly default: () => readonly [];
};
readonly action: {
readonly type: StringConstructor;
readonly default: "";
};
readonly multiple: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly name: {
readonly type: StringConstructor;
readonly default: "file";
};
readonly accept: {
readonly type: StringConstructor;
readonly default: "";
};
readonly method: {
readonly type: StringConstructor;
readonly default: "post";
};
readonly headers: {
readonly type: ObjectConstructor;
readonly default: () => {};
};
readonly data: {
readonly type: ObjectConstructor;
readonly default: () => {};
};
readonly autoUpload: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly listType: {
readonly type: StringConstructor;
readonly values: readonly ["text", "picture", "picture-card"];
readonly default: "text";
};
readonly limit: {
readonly type: NumberConstructor;
};
readonly drag: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly directory: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
export type UploadProps = ExtractPropTypes<typeof uploadProps>;
export type UploadInstance = InstanceType<typeof Upload> & unknown;