【问题标题】:Error when using v-model on file input在文件输入上使用 v-model 时出错
【发布时间】:2017-11-06 00:36:46
【问题描述】:

我有一个文件输入,我需要在文件上传后清除它。我尝试将空值设置为v-model,但它产生了以下错误

文件输入是只读的。请改用 v-on:change 监听器。

我的代码是

<input id="fileupload" type="file" v-model="file" multiple v-on:change="uploadFile" ref="fileInput" />

上传后如何清除vue.js中输入的文件,以便连续多次上传同一个文件

【问题讨论】:

标签: javascript vue.js


【解决方案1】:

您正在使用 v-on:change="uploadFile" 并猜测您的 uploadFile 有一个成功回调,您可以执行以下操作:

-将您的输入包装在一个表单中并为您的表单添加一个 ref 属性

<form ref="myFileInputForm">
     <input id="fileupload" type="file" v-model="file" multiple v-on:change="uploadFile" ref="fileInput" />
</form>
  • uploadFile 的成功回调中执行以下操作:

    this.$refs.myFileInputForm.reset();

【讨论】:

    【解决方案2】:

    使用 ref 属性解决了,

    this.$refs.fileInput.value = null; 
    

    【讨论】:

      【解决方案3】:

      文件输入是只读的。 不要绑定元素,删除v-model="file"

      【讨论】:

      • 您所做的只是重述错误。当有人可能需要绑定到文件输入的效果时,这并没有提供解决方案。
      猜你喜欢
      • 2018-07-12
      • 2015-11-02
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多