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

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

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

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

Q&A

解決済

1回答

839閲覧

Vue.jsの入力フォームの出力結果を次々に追加したい

_chii

総合スコア50

Vue.js

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

0グッド

0クリップ

投稿2021/07/11 06:46

編集2021/07/11 08:21

v-modelを使用した。入力フォームに入力した値を出力してその下に表示する簡単なプログラムです。
現状では入力したその値が期待するように表示させることができたのですが、次の値を入力するとその前の出力した内容が消えてしまいます。

そのため繰り返し表示する必要があるイコールv-forの活用だと思いました。
ただ多くの情報では他の複雑に色々な処理が書かれているサンプルばかりでわたしが期待するような処理だけが載せてある記事にたどり着くことができませんでした。

そのあとも調べてみたのですが手詰まりで...そもそもこれもあっているのかわからない状態です。
ぜひご教授頂けましたらよろしくお願いします。

######現状
「おはよう」と入力
「こんにちは」と入力

「おはよう」が消えてしまう

######期待する結果
「おはよう」と入力
「こんにちは」と入力

おはよう
こんにちは

と次々に表示されるテキストが追加されるようにしたい

イメージ説明

<template> <div id="app"> <h1> ToDoアプリ</h1> <form @submit.prevent="addItem"> <input type="text" v-model.lazy="textInput"> <input type="submit" value="追加"> </form> <p v-for="textInput in textInputs" :key="textInput"> {{ textInput }} </p> </div> </template> <script> export default { data() { return { textInput: '', } }, methods: { addItem: function(){ this.textInputs.push(this.textInput); this.textInput = ''; } } }; </script>

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

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

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

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

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

shiketa

2021/07/11 06:56

textInput`s`は、どこに定義してあるのですか?
_chii

2021/07/11 06:59

正しいかわからないのですが、わたしなりに考えてた結果を追記致しました。
k4a

2021/07/11 08:07

やりたいこともわかりますしやり方もわかるのですが、回答の前に_chiiさんはv-forの仕組みを理解していますでしょうか? また、追記いただいたコードはどういう意図でこの様な定義にしたのでしょうか? ``` textInputs: { textInput: '', } ``` v-forの仕組みとやりたいことからすると配列になるということはわかりますか? また、「次の値」と書いてありますが、「今」と「次」はどう分けるのでしょうか? ・「おはよう」と入力 ・「おはよう」を消す ・「こんにちは」と入力 と言った感じでしょうか?これだと「こんにちは」しか表示されないのは当たり前です。 入力を確定する様なボタンなどが必要だと思います。
_chii

2021/07/11 08:23

ありがとうございます!頂いたアドバイスをもとに大幅にコードの修正を行いました。 こちらで見ていただけないでしょうか。
k4a

2021/07/11 08:29

ほとんど完成しています。 後はdataに`textInputs: []`も定義してあげてください。
_chii

2021/07/11 08:36

できました!ありがとうございます????
guest

回答1

0

自己解決

修正依頼に書かれた内容をもとに修正

投稿2021/07/11 08:37

_chii

総合スコア50

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問