移动端上传图片是很常用的功能,这里使用vant-ui实现。

效果如图

上传图片的vue页面:Customer.vue

html

    <div :class="postData.length>4?'upload-img-5':'upload-img-1'">
<p class="p-header">上传需要找的面料照片:</p>
<p style="font-size: 12px">请上传要找的完整图案、细节图、尺寸参照图、正反面对比等。(最多5张)</p>
<div class="posting-uploader">
<div class="posting-uploader-item" v-for="(item,nn) in postData" :key="nn">
<img :src="item.content" alt="图片" class="imgPreview">
<van-icon name="close" @click="delImg(nn)" class="delte"/>
</div>
<van-uploader :after-read="onRead" :accept="'image/*'" v-show="postData.length<=4">
<img src="../../assets/img/img1.png" alt="等待传图" class="imgPreview">
</van-uploader>
</div>
</div>

js

    delImg (index) {
// 删除指定下标的图片对象
if (isNaN(index) || index >= this.postData.length) {
return false
}
let tmp = []
for (let i = 0, len = this.postData.length; i < len; i++) {
if (this.postData[i] !== this.postData[index]) {
tmp.push(this.postData[i])
}
}
this.postData = tmp
},
onRead (file) { // 上传图片到图片服务器
// this.$refs.clothImg.src = file.content
this.postData.push(file) // postData是一个数组
let url = API + '/upload?type=99'
let fd = new FormData()
fd.append('upImgs', file.file)
this.axios.post(url, fd, {headers: {
'Content-Type': 'multipart/form-data'
}}).then(res => {
this.imgUrlListValue.push(res.data.urls[0].image) //这里上传到指定的图片服务器,成功后会返回图片的url
}).catch(err => {
alert(err)
})
},

css

.upload-img-5{
margin: 5px 0 90px 0;
}
.upload-img-1{
margin: 5px 0 15px 0;
}

说明:

1:../../assets/img/img1.png 是一个标识图

2.使用动态类的样式 :class="postData.length>4?'upload-img-5':'upload-img-1' "

是为了解决上传5张图片后,标识图作为第六张虽然不显示,但是会挤占位置的问题。实际上是为了动态改变高度。

vant-ui的van-uploader上传图片的更多相关文章

  1. vue问题三:element ui的upload组件上传图片成功和移除事件

    element ui的upload组件上传图片成功和移除事件: 登录后获取到后台传的token存到中: sessionStorage.setItem("token",data.ob ...

  2. 自定义vant ui steps组件效果实现

    记录个问题,当作笔记吧:因为vue项目的移动端vant ui 的step组件跟ui设计图有差别,研究了半天还是没法使用step组件,只能手动设置一个 先上效果图和代码: (1)HTML部分 <d ...

  3. 【土旦】 使用Vant 的Uploader 上传图片 重定义返回格式 使用FormData格式提交

    前言 开发一个图片上传功能 需求要用vant中的Uploader , 发现 Uploader组件官方封装返回的数据是加密的,不适合我这个项目(需要上传到本地ftp服务器), 看了一下官方 issue ...

  4. 使用上传插件 Web Uploader 上传图片到七牛云(C#)

    之前有写过一篇文章,基于asp.net mvc 封装 Web Uploader 上传插件: http://www.cnblogs.com/vanteking/p/5623682.html 已经实现的功 ...

  5. Vant UI 安装

    一:安装 npm i vant -S 二.引入组件(共有三个方法) 方法一:使用 babel-plugin-import (推荐) 1. 安装 babel-plugin-import 插件 npm i ...

  6. Vant ui

    轻量.可靠的移动端 Vue 组件库 https://youzan.github.io/vant/#/zh-CN/intro postcss-pxtorem vue:将px转化为rem,适配移动端van ...

  7. 把项目中的vant UI组件升级

    首先把之前 的VANT 卸载掉 npm uninstall vant 然后重新安装 一次vant npm i vant -S

  8. Vant UI 组件库如何做rem适配?

    Vant是一款移动端基于vue的组件库,V2.1.1版本非常棒.文档地址:https://youzan.github.io/vant/?source=vuejsorg#/zh-CN/intro,那么V ...

  9. vue使用Vant UI中的swiper组件及传值

    子组件SwiperBanner <!-- --> <template> <div class="swiper"> <van-swipe : ...

  10. vant ui TabBar封装

    TabBar.vue基本上是放在App.vue里面,都存在 <template> <div id="app"> <home-tab-bar :tar- ...

随机推荐

  1. idea的tomcat实现热部署遇到的问题

    选择Deployment的时候,要选择exploded结尾的,否则不支持热部署

  2. 百万年薪python之路 -- 基本数据类型

    整数 -- 数字(int) 用于比较和运算 32位 2 ** 31 ~ 2 ** 31-1 64位 -2 ** 63 ~ 2 ** 63- 1 ​ + - * / // ** % python2 整型 ...

  3. hdfs 文件系统命令操作

    hdfs 文件系统命令操作 [1]hdfs dfs -ls [目录]. 显示所有文件 hdfs dfs -ls -h /user/20170214.txt 显示文件时,文件大小以人易读的形式显示 [2 ...

  4. (day28)操作系统发展史+进程

    目录 一.操作系统发展史 (一)穿孔卡片(手工操作) (二)批处理系统(磁带存储) 1. 联机批处理系统 2. 脱机批处理系统 (三)多道技术 二.进程 (一)程序和进程 (二)进程调度 1. 先来先 ...

  5. WWW网络请求

    采用WWW获取网络数据: (一)get 1)天气数据下载 private string weatherApi = "http://www.sojson.com/open/api/weathe ...

  6. spring boot项目启动报错

    在eclipse中运行没有任何问题,项目挪到idea之后就报错 Unable to start EmbeddedWebApplicationContext due to miss EmbeddedSe ...

  7. 用GitLab Runner自动部署GitBook并不难

    相信很多程序员喜欢用 GitBook 来写电子书.教程或者博客,看了不少文章,貌似都缺少说明如何将 GitBook 部署到版本库,并自动在服务器上 build,然后将生成的静态网站部署到云服务器上. ...

  8. 找不到 cucumber.api.cli.Main 的报错解决方案

    最近玩IDEA,发现导入的项目有问题,报了一个“找不到或者不存在cucumber.api.cli.Main”的错误. 后来发现是新版的IDEA在导入时没有提示,以至于我没有配置项目对应的Tomcat服 ...

  9. JavaSE语法(中)

    6.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递.Java语言的方法调用支持参数的值传递.当一个对象实例作为一个 ...

  10. noip模拟9 达哥随单题

    T1.随 看题第一眼,就瞄到最下面 孙金宁教你学数学  ?????原根?目测神题,果断跳过. 最后打了个快速幂,愉快的收到了达哥送来的10分. 实际上这题暴力不难想,看到一个非常小的mod应该就能想到 ...