当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Vue触发隐藏input file的方法

Vue触发隐藏input file的方法

2019年08月14日  | 移动技术网IT编程  | 我要评论

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" style="display: none;" @change="uploadpic">
</label>
idrecognition: function() {},    //触发事件  
uploadpic: function() {
  console.log('dsa');
}

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网