UNPKG

zent

Version:

一套前端设计语言和基于React的实现

60 lines (46 loc) 6.1 kB
--- title: Upload subtitle: 文件上传 path: component/upload group: 信息录入 --- # Upload 文件上传 文件上传组件。 ### API #### 公共参数 | 参数 | 说明 | 类型 | 默认值 | 是否必填 | | ---------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ---------------------- | -------- | | className | 自定义类名 | string | | | | beforeUpload | 文件上传前的预处理函数,若返回 false reject Promise,则不上传该文件 | `(file: File) => boolean | Promise<void>` | | | | manualUpload | 是否手动进行上传操作,若设置为 true,所有进度更新、上传成功失败、重试等数据更新都需要手动进行维护 | boolean | false | | | onUpload | 文件上传处理 | `IUploadOnUploadHandler` | | | | onError | 发生内部错误时的统一回调函数,错误类型见 `IUploadErrorMessageConfigMap` | `IUploadOnErrorHandler` | | | maxSize | 图片大小限制,单位为 byte,`Infinity` 为不限制 | number | `Infinity` | | | accept | 可选文件类型,与 [input accept](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept) 一致 | string | | | | disabled | 是否禁用上传 | boolean | | | | tips | 提示文案 | `React.ReactNode` \| `IUploadTipsFunc` | | | | customUploadItem | 自定义上传项展示组件 | `React.ComponentType<IUploadFileItem | IImageUploadFileItem>` | | | #### SingleUpload | 参数 | 说明 | 类型 | 默认值 | 是否必填 | | -------- | ------------------------------------------------------------------ | ------------------------ | ------ | -------- | | value | 上传文件值 | IUploadFileItem | | | | onChange | 上传内容发生变化时的回调函数,任何修改文件状态的行为都会触发该函数 | `IUploadOnChangeHandler` | | | #### 多项公共参数 | 参数 | 说明 | 类型 | 默认值 | 是否必填 | | --------------- | -------------------------------------------------------------------------- | -------------------------------------------------- | ---------- | -------- | | fileList | 受控模式下使用的上传文件列表 | Array<`IUploadFileItem` \| `IImageUploadFileItem`> | | | | defaultFileList | 非受控模式下使用的默认文件列表 | Array<`IUploadFileItem` \| `IImageUploadFileItem`> | | | | onChange | 上传内容发生变化时的回调函数,任何修改文件列表及其内容的行为都会触发该函数 | `IUploadOnChangeHandler` | | | | multiple | 是否支持文件多选 | boolean | false | | | maxAmount | 图片数量限制,`Infinity` 为不限制 | number | `Infinity` | | | sortable | 是否可拖拽排序 | boolean | false | | #### Upload | 参数 | 说明 | 类型 | 默认值 | 是否必填 | | ---------- | ---------------------- | ------- | ------ | -------- | | pagination | 是否对文件列表进行分页 | boolean | false | | | pageSize | 分页时的每页展示数量 | number | 5 | | #### ImageUpload | 参数 | 说明 | 类型 | 默认值 | 是否必填 | | ------------------- | --------------------------------------------------- | ---------------------------- | ------------------------------------- | --------------- | | preview | 自定义点击图片时的展示逻辑 | `IImageUploadPreviewHandler` | PreviewImages(不展示上传失败的图片) | | | getThumbSrcFromFile | 自定义选择图片时将其转化为展示用的缩略图 src 的函数 | `(file: File) => string | Promise<string>` | FileReader 实现 | |