移动端上传图片是很常用的功能,这里使用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张图片后,标识图作为第六张虽然不显示,但是会挤占位置的问题。实际上是为了动态改变高度。

最新文章

  1. [译]- 6-1 排列窗体上的控件(Laying Out Widgets on a Form)
  2. shaerpoint designer 无法创建 visio 2013工作流
  3. Django request 常用属性
  4. c#将输入的人民币数字金额转换成小写
  5. Android开发错误汇总
  6. C语言 大小端 字节对齐
  7. Javascript—①你好,世界!
  8. 【JAVAWEB学习笔记】网上商城实战2:异步加载分类、Redis缓存分类和显示商品
  9. “百度杯”CTF比赛 2017 二月场 爆破-3
  10. Java面向对象——类,对象和方法
  11. JS 事件循环机制 - 任务队列、web API、JS主线程的相互协同
  12. pro.antd.design
  13. contos防爆力破解密码
  14. MariaDB MaxScale
  15. Linux创建SSH信任关系
  16. OSI七层模式简单通俗理解
  17. VS2010部署相关
  18. 关闭centos自动升级内核
  19. 安装使用composer基本流程
  20. 【转】Twitter Storm: 在生产集群上运行topology

热门文章

  1. python编程系列---最详细的讲解进程与线程的关系
  2. Redis学习四(运维指南).
  3. 06 python学习笔记-常用模块(六)
  4. Spring 事务笔记
  5. Leetcode Tags(13)Bit Manipulation
  6. SpringBoot整合MybatisPlus3.X之乐观锁(十三)
  7. Unity3D图像后处理特效——Depth of Field 3.4
  8. Leetcode算法【34在排序数组中查找元素】
  9. Java面试官最爱问的volatile关键字
  10. NLP预训练模型-百度ERNIE2.0的效果到底有多好【附用户点评】