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 相关文章推荐
jQuery的实现原理的模拟代码 -3 事件处理
Aug 03 Javascript
原生javascript获取元素样式
Dec 31 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
Aug 25 Javascript
JavaScript+canvas实现七色板效果实例
Feb 18 Javascript
JS生成某个范围的随机数【四种情况详解】
Apr 20 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
MUI  Scroll插件的使用详解
Apr 13 Javascript
微信小程序 密码输入(源码下载)
Jun 27 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
浅谈VUE监听窗口变化事件的问题
Feb 24 Javascript
Vue extend的基本用法(实例详解)
Dec 09 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 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
web方式ftp
2006/10/09 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
PHP经典面试题集锦
2015/03/19 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
php面向对象重点知识分享
2019/09/27 PHP
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
2016/06/23 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python正则表达式介绍
2012/08/06 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
numpy中的高维数组转置实例
2018/04/17 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
财务人员个人自荐信范文
2013/09/26 职场文书
先进党支部事迹材料
2014/01/13 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
MySQL连接控制插件介绍
2021/09/25 MySQL
maven依赖的version声明控制方式
2022/01/18 Java/Android