vue图片上传本地预览组件使用详解


Posted in Javascript onFebruary 20, 2019

最近项目一直在使用vue,以前只是用vue做过一些简单的demo对数据进行增删改,并没有用于实际开发项目。今天就想了解一下如何用vue实现常见的图片上传前本地预览效果。

效果预览:

vue图片上传本地预览组件使用详解

<template>
 <div class="image-view">
 <div class="addbox">
  <input type="file" @change="getImgBase()">
  <div class="addbtn">+</div>
 </div>
 <div class="view">
  <div class="item" v-for="(item, index) in imgBase64">
  <span class="cancel-btn" @click="delImg(index)">x</span>
  <img :src="item">
  </div>
 </div>
 </div>
</template>
<script>
 export default {
 name: 'imageView',
 data (){
  return {
  imgBase64:[] //存储img base64的值将值传给后端处理
  }
 },
 methods: {
  //获取图片base64实现预览
  getImgBase(){
  var _this = this;
  var event = event || window.event;
  var file = event.target.files[0];
  var reader = new FileReader(); 
  //转base64
  reader.onload = function(e) {
   _this.imgBase64.push(e.target.result);
  }
  reader.readAsDataURL(file);
  },
  //删除图片
  delImg(index){
  this.imgBase64.splice(index,1);
  }
 }
 }
</script>
<style scoped>
 *{margin:0 auto;padding:0;font-family:"微软雅黑";}
 .clearboth::after{
 content:"";
 display:block;
 clear:both;
 }
 .image-view{
 width:400px;
 height:300px;
 margin:50px auto;
 }
 .image-view .addbox{
 float:left;
 position:relative;
 height:100px;
 width:100px;
 margin-bottom:20px;
 text-align:center;
 }
 .image-view .addbox input{
 position:absolute;
 left:0;
 height:100px;
 width:100px;
 opacity:0;
 }
 .image-view .addbox .addbtn{
 float:left;
 height:100px;
 width:100px;
 line-height:100px;
 color:#fff;
 font-size:40px;
 background:#ccc;
 border-radius:10px;
 }
 .image-view .item {
 position:relative;
 float:left;
 height:100px;
 width:100px;
 margin:10px 10px 0 0;
 }
 .image-view .item .cancel-btn{
 position:absolute;
 right:0;
 top:0;
 display:block;
 width:20px;
 height:20px;
 color:#fff;
 line-height:20px;
 text-align:center;
 background:red;
 border-radius:10px;
 cursor:pointer;
 }
 .image-view .item img{
 width:100%;
 height:100%;
 }
 .image-view .view{
 clear:both;
 }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript客户端脚本的设计和应用
Aug 21 Javascript
Javascript下判断是否为闰年的Datetime包
Oct 26 Javascript
初窥JQuery(二)事件机制(2)
Dec 06 Javascript
客户端js判断文件类型和文件大小即限制上传大小
Nov 20 Javascript
jquery垂直公告滚动实现代码
Dec 08 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
Dec 27 Javascript
详解JS几种变量交换方式以及性能分析对比
Nov 25 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
jQuery动态生成不规则表格(前后端)
Feb 21 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
Oct 08 Javascript
vue-router的使用方法及含参数的配置方法
Nov 13 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
Feb 20 #Javascript
浅谈小程序 setData学问多
Feb 20 #Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 #Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
Feb 20 #Javascript
解决element ui select下拉框不回显数据问题的解决
Feb 20 #Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
Feb 20 #Javascript
Vue.js特性Scoped Slots的浅析
Feb 20 #Javascript
You might like
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
了解重排与重绘
2019/05/29 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
python 网络编程常用代码段
2016/08/28 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python导入坐标点的具体操作
2019/05/10 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python中提高pip install速度
2020/02/14 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
Ray-Ban雷朋太阳眼镜英国官网:Ray-Ban UK
2019/11/23 全球购物
会计员岗位职责
2014/03/15 职场文书
青春演讲稿范文
2014/05/08 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers