Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

a mobile vue component implementation for weui uploader

License

NotificationsYou must be signed in to change notification settings

eJayYoung/vux-uploader-component

Repository files navigation

a mobile vue component implementation forweui uploader

Install

npm install -S vux-uploader-component

Mobile demo

https://ejayyoung.github.io/vux-uploader-component/index.html

scan the qrcode and have a test in your device

Usage

Basic

<template><uploaderv-model="fileList":url="remoteUrl"@on-change="onChange"@on-cancel="onCancel"@on-success="onSuccess"@on-error="onError"@on-delete="onDelete"></uploader></template><script>importUploaderfrom"vux-uploader-component";exportdefault{components:{      Uploader},data(){return{fileList:[]};}};</script>

Custom name

<uploaderv-model="fileList":url="remoteUrl"name="upload"></uploader>

Extra Params

<uploaderv-model="fileList":url="remoteUrl":params="{    token: '13579',    linkid: '2323',    modelname: 'modelname'  }"></uploader>

Manual Upload

<template><uploaderv-model="fileList":autoUpload="false"></uploader></template><script>importUploaderfrom"vux-uploader-component";exportdefault{components:{      Uploader},data(){return{fileList:[]};},methods:{submit(){constformData=newFormData();formData.append("file",fileList[0].blob);fetch.post(url,formData).then(()=>{}).catch(()=>{});}}};</script>

Props

propertytypedefaultdescription
titleString'图片上传'组件标题
filesArray[]初始化数据源,通过on-fileList-change事件绑定 v-model
limitNumber | String5限制上传图片个数
limitPromptFunction(limit) => `不能上传超过${limit}张图片`限制上传alert的提示语
captureNumber | Stringfalse是否只选择调用相机
enableCompressBooleantrue是否压缩
maxWidthString | Number1024图片压缩最大宽度
qualityString | Number0.92图片压缩率
urlString-上传服务器 url
headersObject{}上传文件时自定义请求头
withCredentialsBoolean-设置为true的话,支持标准CORS设置cookie值
paramsObject-上传文件时自定义参数
nameString'file'上传文件时 FormData 的 Key,默认为 file
autoUploadBooleantrue是否自动开启上传
multipleString | Boolean""是否支持多选,false为不支持
readonlyBooleanfalse只读模式(隐藏添加和删除按钮)

Events

eventparamdescription
on-change(FileItem, FileList)选完照片,删除照片时,FileList 变化时触发,返回当前改变的 FileItem,以及当前的 FileList
on-cancel()选择照片后取消的回调,用于错误提示
on-success(result, fileItem)上传请求成功后的回调,返回远程请求的返回结果,及当前添加文件的 FileItem
on-error(xhr)上传请求失败后的回调,返回xhr
on-delete(cb)删除照片时的回调,返回隐藏 Previewer,删除图片的回调,没监听onDelete事件的时候,直接执行删除回调

v-model

通过 v-model 可以在组件外部获取更新的组件的FileList

返回的 FileItem 格式

目前将 File 对象的属性复制组成 FileItem, FileItem 组成 FileList,便于用户获取 File 对象的信息

{"blob":Blob,"fetchStatus":"success","lastModified":1552382376925,"lastModifiedDate":"Tue Mar 12 2019 17:19:36 GMT+0800 (中国标准时间)","name":"YourImage.jpeg","progress":100,"size":68905,"type":"image/jpeg","url":"blob:http://0.0.0.0:8080/e3a87d67-a1dc-4909-b5fa-7bb3a7baad11"}

Todo

  • 调用手机相机
  • 获取图片并渲染到浏览器
  • 解决图片 EXIF 旋转
  • 预览图片
  • 删除图片
  • 支持上传图片配置
  • 显示上传进度
  • 支持多选
  • 支持 v-model 获取 FileList
  • 接入Photoswipe,增强预览功能
  • xhr支持自定义头部和withCredentials
  • 自定义限制alert的提示语内容
  • 改为vue-cli 3.0 打包

Development

# install dependenciesnpm install# serve with hot reload at http://0.0.0.0:8080/npm run dev# build for production with minificationnpm run build:prod# publish packagenpm version patchnpm publish

For detailed explanation on how things work, consult thedocs for vue-loader.

Relevant

License

The MIT License

About

a mobile vue component implementation for weui uploader

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp