Sometimes, we want to watch a file input for file selection change events in Vue.js.
In this article, we’ll look at how to watch a file input for file selection change events in Vue.js.
Watch for File Input File Selection Change Events in Vue.js
We can watch a file input for file selection change events in Vue.js by listening to the change event.
To do that, we use the @change
directive by writing:
<template>
<div id="app">
<input type="file" @change="previewFiles" multiple />
</div>
</template>
<script>
export default {
name: "App",
methods: {
previewFiles(event) {
console.log(event.target.files);
},
},
};
</script>
Also, we set the value of @change
to the previewFiles
method.
And then when we select files with the file input, we can get the file list with the selected files with the event.target.files
property.
We can also assign a ref to the file input and use that to reference the file input in the method.
To do this, we write:
<template>
<div id="app">
<input type="file" ref="myFiles" @change="previewFiles" multiple />
</div>
</template>
<script>
export default {
name: "App",
methods: {
previewFiles() {
console.log(this.$refs.myFiles.files);
},
},
};
</script>
We set the ref
prop to myFiles
and then get the selected files with this.$refs.myFiles.files
.
Conclusion
We can watch a file input for file selection change events in Vue.js by listening to the change event.
Also, we set the value of @change
to the previewFiles
method.