v模型不支持输入类型=“文件”

Vue.js

西门

2020-03-16

我不能使用v-model文件输入,Vue说我必须使用v-on:change好的,所以我可以使用v-on:change,但是如何将输入文件的“内容”绑定到data属性?

假设我想将其绑定到组件中this.file

export default {
  data() {
    file: null
  },
  // ...
}

这是HTML部分:

<input id="image" v-on:change="???" type="file">
<!--                           ^- don't know how to bind without v-model -->

我应该如何装订?

第1734篇《v模型不支持输入类型=“文件”》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
理查德Near 2020.03.16

v-model与文件输入一起使用没有任何意义,因为您不能在文件输入上设置值-那么双向绑定在这里应该做什么?

只需使用 v-on:change

LEYPro达蒙 2020.03.16

onchange事件中,您应该将事件对象传递给函数并进行处理:

onFileChange(e) {
  var files = e.target.files || e.dataTransfer.files;
  if (!files.length)
    return;
  this.createImage(files[0]);
},

有关更多信息,请参阅https://codepen.io/Atinux/pen/qOvawK/

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android