【发布时间】:2021-02-12 21:26:22
【问题描述】:
我正在尝试更新我的数据库中的用户配置文件数据,但我卡在用户配置文件图像上。我不能使用 v-model 进行绑定,并且使用 v-on:change 它不起作用。到目前为止,这是我的代码,它工作正常,唯一的问题是绑定。
<template> ----- <div v-if="!image"> <h2>Select an image</h2> <input type="file" @change="onFileChange" /> ---->here I would like to use the v-model but can't use it on input type="file" </div> <div v-else> <img :src="image" /> <button @click="removeImage">Remove image</button> </div> <input type="text" placeholder="Userame" v-model="user.username" required /> <button type="button" class="btn btn-outline-warning waves-effect" aria-label="Left Align" @click.prevent="updateProfile(user)" > Update profile </button> --- </template> <script> export default { data: function () { return { user: {}, image: '' }; },
methods: { onFileChange(e) { var files = e.target.files || e.dataTransfer.files; if (!files.length) return; this.createImage(files[0]); }, createImage(file) { var image = new Image(); var reader = new FileReader(); var vm = this; reader.onload = (e) => { vm.image = e.target.result; }; reader.readAsDataURL(file); console.log(file.name); }, removeImage: function (e) { this.image = ''; }, updateProfile() { store .dispatch("updateProfile", { username: this.user.username, email: this.user.email, profileImage: this.file ------>I need it for the binding here
</script>
【问题讨论】:
标签: javascript html vue.js bind v-model