Requirements
- Vue: ^1.0.0 or ^2.0.0
- 支持图片上传,图片拖拽,自定义图片上传
Install
From npm:
$ npm install vue-upload-drag -D
Usage
Vue
<!--your.vue-->
API
{onChange} Function
{onProgress} Function
{onError} Function
{onSuccess} Function 必须接受,并回调exChangeUrl方法
slot
具名插槽:loading,用于自定义loading,结合config.loading用
具名插槽:imgBtns,用于自定义imgBtns,结合config.imgBtns用
具名插槽:liItem,该插槽是在li元素根节点
Arguments:
{config} Object
name: 'uploadDrag'props:value:required: truetype: Arrayconfig:required: falsetype: Objectaccept: "image/*" // 文件上传类型action: "https://jsonplaceholder.typicode.com/posts/" // 上传域名data: {} // 请求参数limit: 9 // 支持最大上传文件数multiple: true // 支持多个文件选择imgUrl: "url" // 图片路径字段deleteBtnName: "删除" // 删除按钮名viewBtnName: "查看" // 查看按钮名dragabled: true // 是否拖拽imgBtns: "删除" "查看" // 图片按钮显示集合,另可以通过具名插槽名imgBtns自定义loading: true // 图片加载loading是否开启,另可以通过具名插槽名Loading自定义isHttpRequest: false // 是否自定义请求uploadField: "file" // 上传默认字段
Example
Vue{returnfileList:name: "food.jpg"url: "https://www.baidu.com/img/bd_logo1.png"id: 11config:limit: 1;}methods:{ // 图片选择改变,且config中isHttpRequest为trueconsole}{ // 上传中console}{ // 上传失败,会自动把图片移除,建议给提示console}{ // 同时选择多张图片超过限制数会被触发// 过滤多余的图片继续上传}{ // 上传成功,请必须接受onSuccess方法console// 仅是举例而已哦if rescode === '0' // 根据后端状态判断const url = resdata; // url为后端返回的图片链接值,uid是onSuccess传入的else// 删除图片};