vux-upload是一个vue的上传组件,是对vux组件库的一个补充,同时参考了@greedying开源的组件,添加了部分功能,然后进行开源。
- 基于vux,适合vux项目
- 增加了删除功能
- 增加图片预览功能
- 增加自定义headers、data�、withCredentials等
- 增加beforeUpload钩子,增加success、error、remove等事件
npm install vux-upload --save
// 引入组件
import VuxUpload from 'vux-upload'
// 子组件
export default {
...
components: {
...
VuxUpload,
...
}
...
}
// 使用组件
<vux-upload
url=""
:headers="headers"
:data="data"
:images="images"
:readonly="false"
:max="2"
:withCredentials="false"
:span="4"
:preview="true"
@success="onSuccess"
@error="onError"
@remove="onRemove"
>
</vux-upload>
详细使用方法可参考example中的示例。
�注意 接口返回参数中需要status字段,'ok'代表上传成功。
{
status: 'ok'
}
-
images
类型
: Array默认值
: [],空数组含义
: 图片数组,格式为[ { src: '/url/of/img.ong' }, ...]
备注
: 数据为双向绑定
-
readonly
类型
: Boolean默认值
: false含义
: 只读模式,无新增功能,适合查看功能
-
beforeUpload
类型
: Function默认值
: 无含义
: 上传前钩子函件
-
withCredentials
类型
: Boolean默认值
: false含义
: 是否跨域请求携带cookie等数据
-
headers
类型
: Array默认值
: []含义
: 自定义headers参数
-
data
类型
: Array默认值
: []含义
: 自定义额外数据
-
url
类型
: String默认值
: 无,必填含义
: 图片上传地址
-
span
类型
: Number默认值
: 4含义
: 单图网格所占格数,整行12格
-
max
类型
: Number默认值
: 1含义
: 图片最大张数备注
: 图片达到max值时,新增按钮消失
-
accpet
类型
: String默认值
: image/*含义
: 支持上传的数据类型
-
capture
类型
: String默认值
: ''含义
: input 的capture属性备注
: 可以设置为camera
,此时点击新增按钮,部分机型会直接调起相机,注意,各型号手机表现不同,请谨慎使用。handleClick
为true时,此属性无效
-
preview
类型
: Boolean默认值
: true含义
: 是否需要预览模式
-
compress
类型
: Object默认值
: { quality: 0.7, fieldName: 'file' }含义
: 压缩参数,详情见localResizeIMG
-
success
emit时机
: 上传成功时触发参数
: res, file (res为接口返回数据,file为当前上传文件)备注
: 无
-
error
emit时机
: 压缩错误、上传错误时触发参数
: event, file (file为当前上传文件)备注
: 无
-
remove
emit时机
: 点击删除按钮时触发参数
: index (图片文件数组中的索引)