< 返回技术文档列表

Vue如何实现触发隐藏input file的方法

发布时间:2021-09-01 04:00:09⊙投诉举报

小编给大家分享一下Vue如何实现触发隐藏input file的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、使用input透明覆盖法

  将input的z-index设置为1以上的数字并覆盖到需点击的内容上,将input的样式opacity设置为0(即为透明度为0),这样通过绑定在input上的change事件触发     ----推荐

<p class="uploadImg">
  <input type="file" @change="picUpload($event)" accept="image/*" />
</p>
.uploadImg {
  width: 100%;
  height: 1.46rem;
  position: relative;
  input {
   width: 1.46rem;
   height: 100%;
   z-index: 1;
   opacity: 0;
   position: absolute;
   cursor: pointer;
  }
}

2、使用vue的ref参数直接操作input的点击事件触发

<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>

choiceImg(){
  this.$refs.filElem.dispatchEvent(new MouseEvent('click')) 
},
getFile(){
  console.log("成功");
}

3、使用HTML的lable机制触发input事件

<label for="upfile" class="pTitleRight" @click="IDRecognition">
<span>身份证识别</span>
  <i class="iconfont">&#xe612;</i>
  <input ref="filElem" type="file" accept="image/*" id="upfile" name="upfile"  @change="uploadPic">
</label>

IDRecognition: function() {},  //触发事件 
uploadPic: function() {
 console.log('dsa');
}

  lable上的for属性绑定input的id,即可通过触发lable上的点击事件触发input的change事件 

以上是“Vue如何实现触发隐藏input file的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注血鸟云行业资讯频道!


/template/Home/Zkeys/PC/Static