tango-ui-cw
Version:
A lightweight ui library with ClayW
46 lines (41 loc) • 1.34 kB
TypeScript
import type { CSSProperties, ReactNode } from "react";
export interface UploadProps {
/** 样式扩展(字符串/对象/slot) */
sx?: string | object;
/** 行内样式 */
style?: CSSProperties;
/** 额外 CSS 类名 */
className?: string;
/** 允许的文件类型(同 HTML accept 属性) */
accept?: string;
/** 是否多选 */
multiple?: boolean;
/** 文件变化回调 */
onChange?: (files: File[]) => void;
/** 上传前校验,返回 false 阻止,返回 LIST_IGNORE 不展示 */
beforeUpload?: (file: File, fileList: File[]) => boolean | Promise<boolean | symbol | File | Blob | undefined>;
/** 受控文件列表 */
files?: File[];
/** 是否显示文件列表 */
showUploadList?: boolean;
/** 多选时最大文件数 */
maxCount?: number;
/** 单文件最大体积(MB) */
maxSize?: number;
/** 选择按钮文字 */
btnText?: string;
/** 选择按钮样式 */
btnStyle?: CSSProperties;
/** 是否显示文件大小 */
showSize?: boolean;
/** 是否禁用 */
disabled?: boolean;
/** 子元素 */
children?: ReactNode;
}
/** beforeUpload 返回此值时,文件不展示在列表中 */
export const LIST_IGNORE: unique symbol;
declare const Upload: ((props: UploadProps) => JSX.Element) & {
LIST_IGNORE: typeof LIST_IGNORE;
};
export default Upload;