【问题标题】:Reset input type file using vue.js使用 vue.js 重置输入类型文件
【发布时间】:2017-12-13 06:54:06
【问题描述】:

我需要在 Vue.js 2 中清除/重置输入类型文件 在我使用 jQuery 方法克隆之前:

var input = $(div).find("input[type='file']");
input.replaceWith(input.val('').clone(true));

如何清除此输入?我不能使用 v-model 进行输入,因为它在 vue 2 中不起作用

【问题讨论】:

  • 添加<input type='reset'/> 可以做到这一点。
  • @GhanshyamSingh 这不是我用例的选项,我在这个表单中有很多字段。
  • 您可以使用 vuejs.org/v2/api/#ref ref vue js 属性来保存该节点引用,然后当您想要清除时,您可以执行 => vm.$refs.fileupload.value= null;
  • @HardikSatasiya 我已经测试过了 - 不适用于 IE 11 和 Android 4.4 上的默认浏览器
  • 您是在项目中添加 jquery 还是仅在 vue 中添加 jquery,如果您正在添加 jquery,那么您可以像以前一样做同样的事情,但现在输入可以是 var input = $(vm.$refs.fileupload )

标签: vue.js vuejs2


【解决方案1】:

它有效。

<input type="file" ref="myFileInput"/>


this.$refs.myFileInput.value = '';

参考:https://jj.isgeek.net/2018/02/how-to-reset-file-input-with-vuejs/

【讨论】:

    【解决方案2】:

    当我使用 AngularJS 时,我的旧网站使用了与您相同的方法。我目前正在转换为使用 Vue 并遇到了同样的问题。这是我为解决我的问题所做的。

    fileInput.file = null
    

    $('#fileInput')[0].file = null
    

    【讨论】:

      【解决方案3】:

      试试这个:

      reset_document()
      {this.instructions_file_document = "";
      $("input[type=file]").val(null);}
      

      【讨论】:

        【解决方案4】:

        我尝试了以上所有方法,但我的项目有几个错误。 解决我的问题的是:

        <input type="file" ref="inputFile"/>
        
        this.$refs.inputFile.reset();
        

        上面的这段代码重置了字段值。

        【讨论】:

          猜你喜欢
          • 2018-07-12
          • 2013-05-09
          • 1970-01-01
          • 2016-07-13
          • 1970-01-01
          • 2013-05-18
          • 2017-03-03
          • 2016-03-03
          • 2010-12-30
          相关资源
          最近更新 更多