質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1934閲覧

Vue.js inputタグ 変更前の値を表示させたい。

masaosan18

総合スコア65

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/11/06 02:00

入力画面で、保存されていた情報を入力欄に表示させることをしたいです。

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Suumon

2020/11/08 02:16

> ここにvalue="currentUser.name"を追加しましたが、うまくいかずに困っています。 これを追加したらエラーが表示されたのですか? template部分、タグで書いてないからとかでは?
masaosan18

2020/11/09 01:49

どういうことでしょうか?
Suumon

2020/11/09 13:24

例えば、Headerとか<Header>って書きますよね? そもそも、タグ(<>)を使ってないから問題起こっているのでは?と思ったのですが、 私が知らないだけでタグを使わない書き方があるのでしょうか?
masaosan18

2020/11/09 13:31

PugっていうHTMLの書き方を採用しています。
Suumon

2020/11/09 14:11

なるほど…知らなかったです。 勉強になりました。
guest

回答1

0

ベストアンサー

input(type="text" autocomplete="name" :placeholder="currentUser.name" v-model="changedUser.name")

該当コードはここですかね?

既にvalueは v-modelで参照されているので、スクリプト側でchangedUser.name に currentUser.nameを代入してあげるのはどうでしょうか。

投稿2020/11/09 10:17

hukurouo

総合スコア108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問