字符串对象文件而不是实际对象

时间:2021-05-22 19:46:23

标签: javascript vue.js eslint

所以我实际上是想给我的属性命名为:ModalFile 任何要上传的文件的对象。我没有像往常一样接收对象,而是收到一个名为“文件”的字符串,当我单击它时,它会显示“[对象文件]”。我见过一些人告诉将参数 $event 作为参数提供给解决了这个问题,但它没有解决我的问题。

export default {
  name: 'Marketplace',
  data() {
    return {
      ModalFileName: null,
    };
  },
    onFileSelected(event) {
      const data = event.target.files[0];
      this.ModalFileName = data;
    },
<input class="file-input" type="file" name="resume" @change="onFileSelected($event)">

谢谢

1 个答案:

答案 0 :(得分:2)

您将文件对象存储在 ModalFileName 变量中。试试这个: event.target.files[0].name

工作片段:

new Vue({
  el: '#app',
  data() {
    return {
      ModalFileName: null,
    };
  },
  methods: {
    onFileSelected(event) {
      this.ModalFileName = event.target.files[0].name;
      console.clear();
      console.log(this.ModalFileName)
    },
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<input id='app' class="file-input" type="file" name="resume" @change="onFileSelected" />