导入
import { NuiDropzone, type NuiUploader } from '@needless-ui/angular/dropzone';NuiDropzone
用于拖放或选择文件的区域。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
files双向绑定 | File[] | [] | 它保存的文件,按顺序排列。 |
accept输入 | string | 可接收的文件类型,写法同 <input type="file">。 | |
multiple输入 | boolean | true | 一次可接收多个文件。 |
directory输入 | boolean | false | 提供一个选择文件夹的按钮。 |
maxFiles输入 | number | Infinity | 最多可保存的文件数。 |
maxSize, minSize输入 | number (bytes) | 文件的最大和最小大小,单位为字节。 | |
validate输入 | (file: File) => string | null | 校验每个文件。返回一条消息即拒绝该文件。 | |
upload输入 | NuiUploader<R> | 发送一个文件。不提供时,文件只会被保存。 | |
concurrency输入 | number | 3 | 同时上传的文件数。 |
hint输入 | string | 显示在拖放区文字下方的一行说明,例如可接收哪些文件。 | |
disabled输入 | boolean | false | 不接收任何文件。 |
labels输入 | Partial<NuiDropzoneLabels> | 它显示或播报的所有文本,供翻译使用。 | |
uploaded输出 | NuiUpload<R> | 发出上传完成的文件,以及 upload 返回的结果。 | |
rejected输出 | { file, reason }[] | 发出被拒绝的文件及其原因。 | |
queue属性 | NuiUploadQueue<R> | 上传队列,可在代码中取消、重试和读取进度。 | |
take方法 | (files: Iterable<File>) => void | 在代码中添加文件,并逐个校验。 |
NuiUploader
发送一个文件:以 0 到 1 报告进度,并在收到中止信号时停止。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
(file, context)方法 | (file: File, { signal, progress }) => Promise<R> | 返回一个 Promise,其结果为服务器返回的任何内容。 |