首页 > 解决方案 > 上传相同文件名时忽略文件输入更改事件

问题描述

我是我的 Vue.js 应用程序,我正在使用 Vuetify 的v-file-input组件。上传的文件绑定到formData.file,我通过rulesprop 验证上传的文件。

<v-file-input
  :rules="fileValidationRules"
  v-model="formData.file"
/>

如果我上传文件/tmp/foo.txt,一切都会按预期工作,但是,如果我更改此文件的内容并再次上传,fileValidationRules则不会调用。

显然原因是因为如果文件名相同,Chrome 不会触发更改事件。有什么方法可以解决这个问题,以确保用户选择的每个文件都绑定formData.file并调用fileValidationRules

标签: javascriptvue.jsvuetify.js

解决方案


您可以将文件输入的值设置为空。

<v-file-input
  :rules="fileValidationRules"
  v-model="formData.file"
  ref="file"
/>
onClick() {
   this.$refs.file.value = null;
}

推荐阅读