入力画面で、保存されていた情報を入力欄に表示させることをしたいです。
html
1input(type="text" autocomplete="name" :placeholder="currentUser.name" v-model="changedUser.name")
ここにvalue="currentUser.name"を追加しましたが、うまくいかずに困っています。
html
1<template lang="pug"> 2div.auth 3 Header 4 div.auth__container 5 div.auth__inner 6 h1.auth__heading 登録情報変更 7 ul.notice(v-if="!errorMessages.length == 0") 8 li.notice__item(v-for="(msg, index) in errorMessages" :key="index") 9 | {{ msg }} 10 ValidationObserver(ref="obs" v-slot="{ invalid, validate }") 11 form.form(@submit.prevent="submitUpdateUser") 12 div.form__group 13 label 14 | お名前 15 br 16 input(type="text" autocomplete="name" :placeholder="currentUser.name" v-model="changedUser.name") 17 div.form__group 18 label 19 | メールアドレス 20 br 21 input(type="email" autocomplete="email" :placeholder="currentUser.email" v-model="changedUser.email") 22 div.form__group 23 ValidationProvider(v-slot="{ errors, classes }" mode="passive" rules="min:8|confirmed:confirmation" name="パスワード" v-model="changedUser.password") 24 label(:class="classes") 25 | パスワード 26 br 27 input(type="password" placeholder="半角英数字8文字以上") 28 p.form__valid {{ errors[0] }} 29 div.form__group 30 ValidationProvider(v-slot="{ errors, classes }" mode="passive" rules="min:8" vid="confirmation" name="パスワード(確認用)") 31 label(:class="classes") 32 | パスワード(確認用) 33 br 34 input(type="password" placeholder="半角英数字8文字以上") 35 p.form__valid {{ errors[0] }} 36 div.form__group 37 label 38 | 電話番号 39 br 40 input(type="tel" autocomplete="tel" value="currentUser.tel" :placeholder="currentUser.tel" v-model="changedUser.tel") 41 div.form__group 42 label 43 | 住所 44 br 45 | 〒 46 input(type="postal-code" name="postal-code" :placeholder="currentUser.postcode" v-model="changedUser.postcode") 47 label 48 input(type="text" name="address" :placeholder="currentUser.address" v-model="changedUser.address") 49 div 50 button(type="submit" :disabled="invalid") 51 | 変更する 52 p.auth__link-bottom 53 a(@click="$router.go(-1)") 54 | 変更せずに戻る 55 Footer 56</template> 57 58<script> 59import Cookies from "js-cookie"; 60import Header from "~/components/organisms/Header"; 61import Footer from "~/components/organisms/Footer"; 62 63export default { 64 middleware: "redirect", 65 66 components: { 67 Header, 68 Footer, 69 }, 70 data() { 71 return { 72 currentUser: {}, 73 changedUser: {}, 74 errorMessages: [], 75 addresses: { 76 zipcode: "", 77 addressData: {}, 78 }, 79 formFocus: false, 80 }; 81 }, 82 created() { 83 this.currentUser = this.$store.getters["user/getUserData"]; 84 }, 85 86 methods: { 87 async submitUpdateUser() { 88 const url = "/api/users/edit"; 89 const headers = { 90 uid: Cookies.get("uid"), 91 client: Cookies.get("client"), 92 "access-token": Cookies.get("access-token"), 93 }; 94 await this.$axios 95 .$put(url, this.changedUser, { 96 headers, 97 }) 98 .then(() => { 99 this.$router.push({ path: "/" }); 100 }) 101 .catch((error) => { 102 if (error.response.status === 422) { 103 error.response.data.errors.full_messages.forEach((message) => { 104 this.errorMessages.push(message); 105 }); 106 } 107 }); 108 }, 109 resetVilidMessage() { 110 this.errorMessages = []; 111 }, 112 }, 113}; 114</script> 115
回答1件
あなたの回答
tips
プレビュー