vue图片上传本地预览组件使用详解
时间:2019-02-20
这篇文章主要为大家详细介绍了vue图片上传本地预览组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
最近项目一直在使用vue,以前只是用vue做过一些简单的demo对数据进行增删改,并没有用于实际开发项目。今天就想了解一下如何用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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- shell 学习笔记(18)
- Hive 中的复合数据结构简介以及一些函数的用法说明
- BloomFilter 简介及在 Hadoop reduce side join 中的应用
- 关于 hadoop reduce 阶段遍历 Iterable 的 2 个“坑”
- Hadoop Mapper 阶段将数据直接从 HDFS 导入 Hbase
- 译文 | 量化投资教程:投资组合优化与R实践
- 浅谈 java 中构建可执行 jar 包的几种方式
- python 日志模块 logging 详解
- 基于堆实现的优先级队列:PriorityQueue 解决 Top K 问题
- explain 深入剖析 MySQL 索引及其性能优化指南
- 图文并茂详解 SQL JOIN
- 自定义 hadoop MapReduce InputFormat 切分输入文件
- Hadoop MapReduce 二次排序原理及其应用
- MySQL Tips【Updating】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Nginx 配置相关--Gzip压缩、CORS
- Webpack+Vue2项目结构生成
- 关于跨域以及Spring Boot的解决方案
- FFmpeg进行音频的解码和播放
- Gitbook 安装及使用
- MySQL 视图、过程、函数
- 基于Spring Boot + Dubbo的全链路日志追踪(二)
- 基于Spring Boot + Dubbo的全链路日志追踪(一)
- 使用C语言编写Python扩展包
- PlantUML基本使用(一)--时序图
- gRPC基本使用(一)--java与go之间的相互调用
- confd基本使用--Nginx配置自动化
- JVM自定义类加载器
- Java代理相关:JDK动态代理、CGLIB动态代理
- Tomcat CPU占用100%异常分析与处理