Uploader 上传
示例
文件上传
设置 type
的值为 file
进入文件上传模式。
- demo-file1.txt
- demo-file2.txt
<template>
<article>
<veui-uploader
v-model="files"
action="https://app.fakejson.com/q/ELymQ7xh?token=AWFkjMICPSAB_bO_z-Lnog"
/>
</article>
</template>
<script>
import Uploader from 'veui/components/Uploader'
export default {
components: {
'veui-uploader': Uploader
},
data () {
return {
files: [
{
name: 'demo-file1.txt'
},
{
name: 'demo-file2.txt'
}
]
}
}
}
</script>
图片上传
设置 type
的值为 image
进入图片上传模式。
<template>
<article>
<veui-uploader
v-model="images"
type="image"
action="https://app.fakejson.com/q/ELymQ7xh?token=AWFkjMICPSAB_bO_z-Lnog"
ui="horizontal"
/>
</article>
</template>
<script>
import Uploader from 'veui/components/Uploader'
export default {
components: {
'veui-uploader': Uploader
},
data () {
return {
images: [
{
src: '/images/content/uploader/demo-image1.jpg'
},
{
src: '/images/content/uploader/demo-image2.jpg'
}
]
}
}
}
</script>
API
属性
属性 | 类型 | 默认值 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | 'file' | 上传类型。
| |||||||||||||||
value | Object|Array<Object> | - |
每个文件对象的类型为 | |||||||||||||||
name | string | 'file' | 原生 <input> 元素的 name 。 | |||||||||||||||
action | string | - | 上传地址。 | |||||||||||||||
headers | Object | uploader.headers | 需要加入 HTTP 请求头 的内容。可进行全局统一配置。 | |||||||||||||||
with-credentials | boolean | true | 同 XMLHttpRequest 的 with-credentials 属性。 | |||||||||||||||
request-mode | string | uploader.requestMode | 指定异步上传方式。可进行全局统一配置。
| |||||||||||||||
iframe-mode | string | uploader.iframeMode | 指定在
| |||||||||||||||
callback-namespace | string | uploader.callbackNamespace | 在 request-mode 的值为 'iframe' 并且 iframe-mode 的值为 'callback' 的模式下,指定回调函数的命名空间,放在 window 对象下。可进行全局统一配置。 | |||||||||||||||
data-type | string | 'json' | 如果回调的值是文本, 指明文本的解析方式。如果回调的数据是
| |||||||||||||||
convert-response | uploader.convertResponse | - | 将回调数据转换成需要的格式的函数,使组件能够判断上传是否成功以便显示相应结果,参数是回调数据。返回结果的格式要求如下:
还可以给返回结果加上其它自定义的属性,这些自定义属性会被包含在 | |||||||||||||||
accept | string | - | 与原生 <input> 元素 的 accept 相同,在浏览器的文件类型筛选后再加一层校验。对于类似 application/msword 这样的 MIME type 与扩展名对不上的情形跳过校验。 | |||||||||||||||
extensions | Array<string> | ['jpg', 'jpeg', 'gif', 'png', 'bmp', 'tif', 'tiff', 'webp', 'apng', 'svg'] | 如果 accept 的值是类似 'image/*' 这样的形式,可以指定能通过校验的所有的扩展名。 | |||||||||||||||
ui | string | - | 预设样式。
| |||||||||||||||
max-count | number | - | 最大文件数量。 | |||||||||||||||
max-size | number|string | - | 单个文件的最大大小,如果是 number ,单位是 byte ;如果是 string ,支持在数字后面添加单位,单位可以是 b /kb /mb /gb /tb 。 | |||||||||||||||
payload | Object | - | 附带在上传请求中的额外参数。 | |||||||||||||||
progress | string | 'text' | 指定在
| |||||||||||||||
autoupload | boolean | true | 指定是否在选完文件后立刻上传。 | |||||||||||||||
order | string | asc | 上传文件的显示顺序,按照开始上传的时间排序。
|
插槽
名称 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
button-label | 上传文件的按钮里的内容。 默认内容:提示选择文件。 | |||||||||||||||
desc | 对文件数量、格式、大小等的提示内容。 | |||||||||||||||
type-invalid | 文件类型没有通过校验时的警告内容。 默认内容:提示文件的类型不符合要求。 | |||||||||||||||
size-invalid | 文件大小没有通过校验时的警告内容。 默认内容:提示文件的大小不符合要求。 | |||||||||||||||
count-overflow | 文件的数量超过限制时的警告内容。 默认内容:提示文件的数量超过限制。 | |||||||||||||||
success-label | 上传成功后的提示内容。 默认内容:提示上传成功。 | |||||||||||||||
failure-label | 上传失败后的提示内容。 默认内容:提示上传失败。 | |||||||||||||||
uploading-label | 上传过程中,并且 默认内容:提示上传中。 | |||||||||||||||
file | 单个文件的区域,用来定制文件内容。
| |||||||||||||||
file-before | 单个文件内容之前的区域。作用域参数与 file 作用域插槽相同。 | |||||||||||||||
file-after | 单个文件内容之后的区域。作用域参数与 file 作用域插槽相同。 | |||||||||||||||
extra-operation | 在图片上传模式下,提供放置额外的操作组件的区域,例如放置自定义功能的按钮。作用域参数与 file 作用域插槽相同。 |
事件
名称 | 描述 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
change | 只在上传成功、删除文件时触发,回调参数为
| |||||||||||||||||||||
remove | 删除文件时触发,回调参数为
同时也包含在 | |||||||||||||||||||||
success | 上传成功时触发,回调参数与 remove 事件的回调参数相同。 | |||||||||||||||||||||
failure | 上传失败时触发,回调参数与 remove 事件的回调参数相同。 | |||||||||||||||||||||
statuschange | 在所有文件总的状态发生变化时触发,回调参数为组件整体的状态
| |||||||||||||||||||||
progress | 在
|
全局配置
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
uploader.requestMode | string | 'xhr' | 参见 request-mode 属性。 |
uploader.iframeMode | string | 'postmessage' | 参见 iframe-mode 属性。 |
uploader.callbackNamespace | string | 'veuiUploadResult' | 参见 callback-namespace 属性。 |
uploader.headers | Object | - | 参见 headers 属性。 |
uploader.convertResponse | function(Object): Object | - | 参见 convert-response 属性。 |
图标
名称 | 描述 |
---|---|
upload | 上传文件。 |
clear | 删除。 |
success | 上传成功。 |
redo | 重试。 |
file | 已上传文件。 |
add | 添加文件。 |
alert | 校验失败警告。 |