@zenweb/form
Version:
Zenweb Form module
72 lines (71 loc) • 1.83 kB
TypeScript
import { TypeKeys } from 'typecasts';
import { Field } from '../field.js';
declare class UploadBase<T extends TypeKeys> extends Field<T> {
protected _minFiles: number;
protected _maxFiles: number;
protected _minSize: number;
protected _maxSize?: number;
protected _totalMaxSize?: number;
protected _accept?: string;
/**
* 最多上传数量
*/
maxFiles(limit: number): this;
/**
* 最少上传数量
*/
minFiles(limit: number): this;
/**
* 文件尺寸限制
*/
minSize(limit: number): this;
/**
* 文件尺寸限制
*/
maxSize(limit: number): this;
/**
* 全部文件尺寸限制
*/
totalMaxSize(limit: number): this;
/**
* 接受的文件类型
* - 例如: '.doc,.docx,application/msword'
*/
accept(types: string): this;
extra(): {
minFiles: number;
maxFiles: number;
minSize: number;
maxSize: number | undefined;
totalMaxSize: number | undefined;
accept: string | undefined;
};
}
/**
* 本地上传
*/
export declare class LocalUpload<T extends TypeKeys> extends UploadBase<T> {
}
/**
* 远程上传组建
*/
export declare class RemoteUpload<T extends TypeKeys> extends UploadBase<T> {
protected _to?: string;
/**
* 上传到地址
*/
to(url: string): this;
extra(): {
minFiles: number;
maxFiles: number;
minSize: number;
maxSize: number | undefined;
totalMaxSize: number | undefined;
accept: string | undefined;
} & {
to: string | undefined;
};
}
export declare const localUpload: <T extends TypeKeys>(valueType: T) => LocalUpload<T>;
export declare const remoteUpload: <T extends TypeKeys>(valueType: T) => RemoteUpload<T>;
export {};