UNPKG

@zenweb/form

Version:

Zenweb Form module

72 lines (71 loc) 1.83 kB
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 {};