Vue触发input选取文件点击事件操作


Posted in Javascript onAugust 07, 2020

CSS

.upload-btn-box {
  margin-bottom: 10px;
  button {
    margin-right: 10px;
  }
  input[type=file] {
    display: none;
  }
}

HTML

<div class="upload-btn-box">
<Button @click="choiceImg" icon="ios-cloud-upload-outline" type="primary">点击上传</Button>
  <input ref="filElem" type="file" class="upload-file" @change="getFile">
</div>

Script

choiceImg(){
  this.$refs.filElem.dispatchEvent(new MouseEvent('click')) 
},
getFile(){
      var that = this;
      const inputFile = this.$refs.filElem.files[0];
      if(inputFile){
        if(inputFile.type !== 'image/jpeg' && inputFile.type !== 'image/png' && inputFile.type !== 'image/gif'){
          alert('不是有效的图片文件!');
          return;
        }
        this.imgInfo = Object.assign({}, this.imgInfo, {
          name: inputFile.name,
          size: inputFile.size,
          lastModifiedDate: inputFile.lastModifiedDate.toLocaleString()
        })
        const reader = new FileReader();
        reader.readAsDataURL(inputFile);
        reader.onload = function (e) {
          that.imgSrc = this.result;
        }
      } else {
        return;
      }
    }

补充知识: vue下打包时几个文件选择文件打包一起 并做懒加载

直接上代码

const DeviceManage = r => require.ensure([], () => r(require(deviceManagePath + 'main/DeviceManage')), 'g-DeviceManage');
const SingleDeviceSet = r => require.ensure([], () => r(require(deviceManagePath + 'deviceSet/SingleDeviceSet')), 'g-DeviceManage');
const ModifyNo = r => require.ensure([], () => r(require(deviceManagePath + 'modifyNo/ModifyNo')), 'g-DeviceManage');
const PricePerTime = r => require.ensure([], () => r(require(deviceManagePath + 'pricePerTime/PricePerTime')), 'g-DeviceManage');
const SetParams = r => require.ensure([], () => r(require(deviceManagePath + 'setParams/SetParams')), 'g-DeviceManage');
const ShowDevicePrice = r => require.ensure([], () => r(require(deviceManagePath + 'showDevicePrice/ShowDevicePrice')), 'g-DeviceManage');
const parameterSetting = r => require.ensure([], () => r(require(deviceManagePath + 'parameterSetting/parameterSetting')), 'g-DeviceManage');
const SetParams3G = r => require.ensure([], () => r(require(deviceManagePath + 'setParams3G/SetParams3G')), 'g-Device3Gparams');

这么写 所有g-DeviceManage的文件会被打包在一起

以上这篇Vue触发input选取文件点击事件操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
JSON 学习之完全手册 图文
May 29 Javascript
javascript 用记忆函数快速计算递归函数
Mar 15 Javascript
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
angularjs指令之绑定策略(@、=、&amp;)
Apr 13 Javascript
强大的JavaScript响应式图表Chartist.js的使用
Sep 13 Javascript
webstorm+vue初始化项目的方法
Oct 18 Javascript
使用JS实现动态时钟
Mar 12 Javascript
node.js基础知识汇总
Aug 25 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
Aug 07 #Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 #Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 #Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 #jQuery
vue递归获取父元素的元素实例
Aug 07 #Javascript
在vue中使用Base64转码的案例
Aug 07 #Javascript
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 #Javascript
You might like
PHP编实现程动态图像的创建代码
2008/09/28 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python 字段拆分详解
2019/12/17 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
计算机个人求职信范例
2014/01/24 职场文书
甜点店创业计划书
2014/01/27 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
网站美工岗位职责
2014/04/02 职场文书
班长演讲稿范文
2014/04/24 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
付款证明模板
2015/06/19 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS