首页 > 解决方案 > Vuejs this.$refs.file1.files[0] 出现错误无法读取 VueComponent.filesChange 处未定义的属性“0”

问题描述

问题是当我试图用 this.$refs.file1.files 解决文件未定义时引发的附加文件时。但是,如果我打印出 this.$refs.file1 会显示 html 对象,其中包含其 files 属性。源代码附在下面,不胜感激。

vuejs 的 HTML 部分 在此处输入图像描述

文件更改的方法或处理函数。 在此处输入图像描述

标签: vue.js

解决方案


问题是你input[type=file]进入了v-for. 所以可能不止一个$refs['file1']

您应该使用事件的目标输入元素:

<div id="app">
  <input type="file" name="myFile" @change="fileChanged">
</div>

new Vue({
    el: '#app',
  methods: {
    fileChanged (e) {
        console.log(e.target.files)
    }
  }
})

https://jsfiddle.net/71tw6zu0/


推荐阅读