ivue-material-plus
Version:
A high quality UI components Library with Vue.js
530 lines (529 loc) • 12.3 kB
TypeScript
import { PropType } from 'vue';
import { Interceptor } from '../../utils/interceptor';
import { UploaderFileListItem, UploaderResultType, UploaderMaxSize, getSizeStyle } from '../../utils/helpers';
import { UploaderAfterRead, UploaderBeforeRead } from './types/upload';
declare const _sfc_main: import("vue").DefineComponent<{
/**
* 上传组件类型
*
* @type {String}
*
* select (点击选择)
*
* drag (支持拖动)
*/
type: {
type: StringConstructor;
validator(value: string): boolean;
default: string;
};
/**
* 接受的上传类型
*
* @type {String}
*/
accept: {
type: StringConstructor;
default: string;
};
/**
* 拖拽接受的上传类型后缀
*
* @type {Array}
*/
dragAccept: {
type: ArrayConstructor;
};
/**
* 是否支持多选文件
*
* @type {Boolean}
*/
multiple: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否禁用
*
* @type {Boolean}
*/
disabled: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否将上传区域设置为只读状态
*
* @type {Boolean}
*/
readonly: {
type: BooleanConstructor;
default: boolean;
};
/**
* 图片选取模式,可选值为 camera (直接调起摄像头)
*
* @type {String}
*/
capture: {
type: PropType<any>;
};
/**
* 文件读取结果类型,可选值为 file text dataUrl url
*
* @type {String}
*/
resultType: {
type: PropType<UploaderResultType>;
default: string;
};
/**
* 返回的数据
*
* @type {Array}
*/
modelValue: {
type: PropType<UploaderFileListItem[]>;
default: () => any[];
};
/**
* 文件大小限制,单位为 byte
*
* @type {number | string | (file: File) => boolean}
*/
maxSize: {
type: PropType<UploaderMaxSize>;
default: number;
};
/**
* 文件上传数量限制
*
* @type {Number, String}
*/
maxCount: {
type: (NumberConstructor | StringConstructor)[];
default: number;
};
/**
* 文件读取完成后的回调函数
*
* @type {Boolean}
*/
afterRead: {
type: PropType<UploaderAfterRead>;
};
/**
* before-read 文件读取前的回调函数,返回 false 可终止文件读取,支持返回 Promise
*
* @type {Function}
*/
beforeRead: {
type: PropType<UploaderBeforeRead>;
};
/**
* 标识符,可以在回调函数的第二项参数中获取
*
* @type {Number, String}
*/
name: {
type: (NumberConstructor | StringConstructor)[];
default: string;
};
/**
* 错误时的图标
*
* @type {String}
*/
failedIcon: {
type: StringConstructor;
default: string;
};
/**
* 是否展示删除按钮
*
* @type {Boolean}
*/
deletable: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否展示上传区域
*
* @type {Boolean}
*/
showUpload: {
type: BooleanConstructor;
default: boolean;
};
/**
* 预览图和上传区域的尺寸,默认单位为 px
*
* @type {Number | String}
*/
previewSize: (NumberConstructor | StringConstructor)[];
/**
* 是否在上传完成后展示预览图
*
* @type {Boolean}
*/
previewImage: {
type: BooleanConstructor;
default: boolean;
};
/**
* 文件删除前的回调函数,返回 false 可终止文件读取,
* 支持返回 Promise
*
* @type {Function}
*/
beforeDelete: {
type: PropType<Interceptor>;
};
/**
* 预览图片放大
*
* @type {Boolean}
*/
previewFullImage: {
type: BooleanConstructor;
default: boolean;
};
/**
* 预览图片开始位置下标
*
* @type {Boolean}
*/
previewImageInitialIndex: {
type: NumberConstructor;
default: number;
};
/**
* 防止body滚动
*
* @type {Boolean}
*/
bodyOverflow: {
type: BooleanConstructor;
default: boolean;
};
/**
* 上传方向
*
* @type {String}
*/
uploadDirection: {
type: StringConstructor;
validator(value: string): boolean;
default: string;
};
/**
* 预览图裁剪模式
*
* @type {String}
*/
imageFit: {
type: StringConstructor;
validator(value: string): boolean;
default: string;
};
}, {
prefixCls: string;
data: {
fileList: {
url?: string;
file?: {
readonly lastModified: number;
readonly name: string;
readonly webkitRelativePath: string;
readonly size: number;
readonly type: string;
arrayBuffer: () => Promise<ArrayBuffer>;
slice: (start?: number, end?: number, contentType?: string) => Blob;
stream: () => ReadableStream<Uint8Array>;
text: () => Promise<string>;
};
content?: string;
status?: "" | "done" | "uploading" | "failed";
message?: string;
beforeDelete?: import("../../utils/helpers").Interceptor;
}[];
dragOver: boolean;
imagePreview: boolean;
imagePreviewList: string[];
imagePreviewInitialIndex: number;
};
input: any;
inputWrapClasses: import("vue").ComputedRef<{
[x: string]: boolean;
}[]>;
inputContentClasses: import("vue").ComputedRef<{
[x: string]: boolean;
}[]>;
renderUpload: import("vue").ComputedRef<boolean>;
handleClickInput: () => void;
handleDrag: (e: DragEvent) => void;
handleDragOver: () => void;
handleDragleave: () => void;
handleChange: (event: any) => void;
handleRemove: (file: File, index: number) => void;
handlePreview: (file: File, index: number) => void;
uploadFiles: (files: File | File[]) => void;
getSizeStyle: typeof getSizeStyle;
handleClosePreview: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "on-oversize" | "on-delete" | "on-preview" | "on-drag-upload-error" | "on-close-preview")[], "update:modelValue" | "on-oversize" | "on-delete" | "on-preview" | "on-drag-upload-error" | "on-close-preview", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
/**
* 上传组件类型
*
* @type {String}
*
* select (点击选择)
*
* drag (支持拖动)
*/
type: {
type: StringConstructor;
validator(value: string): boolean;
default: string;
};
/**
* 接受的上传类型
*
* @type {String}
*/
accept: {
type: StringConstructor;
default: string;
};
/**
* 拖拽接受的上传类型后缀
*
* @type {Array}
*/
dragAccept: {
type: ArrayConstructor;
};
/**
* 是否支持多选文件
*
* @type {Boolean}
*/
multiple: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否禁用
*
* @type {Boolean}
*/
disabled: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否将上传区域设置为只读状态
*
* @type {Boolean}
*/
readonly: {
type: BooleanConstructor;
default: boolean;
};
/**
* 图片选取模式,可选值为 camera (直接调起摄像头)
*
* @type {String}
*/
capture: {
type: PropType<any>;
};
/**
* 文件读取结果类型,可选值为 file text dataUrl url
*
* @type {String}
*/
resultType: {
type: PropType<UploaderResultType>;
default: string;
};
/**
* 返回的数据
*
* @type {Array}
*/
modelValue: {
type: PropType<UploaderFileListItem[]>;
default: () => any[];
};
/**
* 文件大小限制,单位为 byte
*
* @type {number | string | (file: File) => boolean}
*/
maxSize: {
type: PropType<UploaderMaxSize>;
default: number;
};
/**
* 文件上传数量限制
*
* @type {Number, String}
*/
maxCount: {
type: (NumberConstructor | StringConstructor)[];
default: number;
};
/**
* 文件读取完成后的回调函数
*
* @type {Boolean}
*/
afterRead: {
type: PropType<UploaderAfterRead>;
};
/**
* before-read 文件读取前的回调函数,返回 false 可终止文件读取,支持返回 Promise
*
* @type {Function}
*/
beforeRead: {
type: PropType<UploaderBeforeRead>;
};
/**
* 标识符,可以在回调函数的第二项参数中获取
*
* @type {Number, String}
*/
name: {
type: (NumberConstructor | StringConstructor)[];
default: string;
};
/**
* 错误时的图标
*
* @type {String}
*/
failedIcon: {
type: StringConstructor;
default: string;
};
/**
* 是否展示删除按钮
*
* @type {Boolean}
*/
deletable: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否展示上传区域
*
* @type {Boolean}
*/
showUpload: {
type: BooleanConstructor;
default: boolean;
};
/**
* 预览图和上传区域的尺寸,默认单位为 px
*
* @type {Number | String}
*/
previewSize: (NumberConstructor | StringConstructor)[];
/**
* 是否在上传完成后展示预览图
*
* @type {Boolean}
*/
previewImage: {
type: BooleanConstructor;
default: boolean;
};
/**
* 文件删除前的回调函数,返回 false 可终止文件读取,
* 支持返回 Promise
*
* @type {Function}
*/
beforeDelete: {
type: PropType<Interceptor>;
};
/**
* 预览图片放大
*
* @type {Boolean}
*/
previewFullImage: {
type: BooleanConstructor;
default: boolean;
};
/**
* 预览图片开始位置下标
*
* @type {Boolean}
*/
previewImageInitialIndex: {
type: NumberConstructor;
default: number;
};
/**
* 防止body滚动
*
* @type {Boolean}
*/
bodyOverflow: {
type: BooleanConstructor;
default: boolean;
};
/**
* 上传方向
*
* @type {String}
*/
uploadDirection: {
type: StringConstructor;
validator(value: string): boolean;
default: string;
};
/**
* 预览图裁剪模式
*
* @type {String}
*/
imageFit: {
type: StringConstructor;
validator(value: string): boolean;
default: string;
};
}>> & {
"onUpdate:modelValue"?: (...args: any[]) => any;
"onOn-oversize"?: (...args: any[]) => any;
"onOn-delete"?: (...args: any[]) => any;
"onOn-preview"?: (...args: any[]) => any;
"onOn-drag-upload-error"?: (...args: any[]) => any;
"onOn-close-preview"?: (...args: any[]) => any;
}, {
name: string | number;
type: string;
modelValue: UploaderFileListItem[];
disabled: boolean;
readonly: boolean;
multiple: boolean;
failedIcon: string;
deletable: boolean;
previewFullImage: boolean;
imageFit: string;
bodyOverflow: boolean;
accept: string;
resultType: UploaderResultType;
maxSize: UploaderMaxSize;
maxCount: string | number;
showUpload: boolean;
previewImage: boolean;
previewImageInitialIndex: number;
uploadDirection: string;
}>;
export default _sfc_main;