I'm trying to upload a file in Vue.js using vuetify and then save the uploaded file in my data object.
HTML:
<input id="file-upload" type="file" @change="onFileChange">
In my methods I call:
onFileChange(e) {
var files = e.target.files || e.dataTransfer.files;
if (!files.length) {
return;
}
this.editedPerson.id_file = e.target.files[0].name;
},
This works 100%.
I do, however, want to use the Vuetify component:
<v-btn color="blue-grey" class="white--text" @click.native="openFileDialog">Upload<v-icon right dark>cloud_upload</v-icon></v-btn>
I hide the original file input tag but on this v-btn component I call the following method:
openFileDialog() {
document.getElementById('file-upload').click();
},
So when I click on the v-btn component it simulates a click on the hidden file input tag and I can choose a file.
On change of the input tag I can still console.log the uploaded file but
this.editedPerson.id_file = e.target.files[0].name;
no longer works.
Is there any reason why this happens?