vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
44 lines (43 loc) • 1.05 kB
TypeScript
/**
* props
*/
export interface Props {
files?: UploadFile[];
accept?: string;
limit?: number;
maxSizeMb?: number;
description?: string;
multiple?: boolean;
disabled?: boolean;
action: string;
headers?: Record<string, string>;
data?: Record<string, any>;
name?: string;
type?: 'files' | 'images';
beforeUpload?: (file: File) => boolean | Promise<boolean>;
}
/**
*上传文件类型
*/
export interface UploadFile {
uid?: string;
name: string;
size?: number;
status?: 'ready' | 'uploading' | 'success' | 'error';
percent?: number;
response?: any;
error?: string;
raw?: File;
url: string;
}
/**
* 组件事件类型
*/
export type Emits = {
(event: 'error', file: UploadFile): void;
(event: 'success', response: any, file: UploadFile): void;
(event: 'change', files: UploadFile[]): void;
(event: 'progress', percent: number): void;
(event: 'delete', file: UploadFile): void;
(event: 'update:files', files: UploadFile[]): void;
};