Uploader 文件上传
基础用法
<van-uploader :after-read="afterRead" />
export default {
methods: {
afterRead(file) {
// 此时可以自行将文件上传至服务器
console.log(file);
}
}
};
图片预览
通过v-model
可以绑定已经上传的图片列表,并展示图片列表的预览图
export default {
data() {
return {
fileList: [
// Uploader 根据文件后缀来判断是否为图片文件
// 如果图片 URL 中不包含类型信息,可以添加 isImage 标记来声明
{ url: 'https://cloud-image', isImage: true }
]
}
};
限制上传数量
通过max-count
属性可以限制上传文件的数量,上传数量达到限制后,会自动隐藏上传区域
<van-uploader
v-model="fileList"
multiple
:max-count="2"
/>
<van-uploader>
</van-uploader>
上传前校验
通过传入beforeRead
函数可以在上传前进行校验,返回true
表示校验通过,返回false
表示校验失败。支持返回Promise
进行异步校验
<van-uploader :before-read="beforeRead" />
API
Props
Events
事件名 | 说明 | 回调参数 |
---|---|---|
oversize | 文件大小超过限制时触发 | 同after-read |
click-preview | 点击预览图时触发 | 同after-read |
close-preview | 关闭全屏图片预览时触发 | - |
delete | 删除文件预览时触发 | 同 |
回调参数
before-read、after-read、before-delete 执行时会传递以下回调参数:
参数名 | 说明 | 类型 |
---|---|---|
file | 文件解析后的 file 对象 | object |
detail | 额外信息,包含 name 和 index 字段 | object |
ResultType 可选值
方法
通过 ref 可以获取到 Uploader 实例并调用实例方法
方法名 | 说明 | 参数 | 返回值 |
---|---|---|---|
closeImagePreview | 关闭全屏的图片预览 | - | - |