前提・実現したいこと
vue.jsについての質問です。
とある項目(田中太郎、などの名前)を表示/入力するコンポーネントを作成したいです。
現在、props
にreadMode
プロパティを設定しています。
これにtrue
が入ってきた場合は表示モード、false
の場合は入力フォームモードにしたいです。
(v-if
v-else
で分岐させれば良いのですが、事情があり1つにまとめたい)
該当のソースコード
vue
1<template> 2 <div class="component"> 3 名前:<input 4 type="text" 5 class="form-control-plaintext" 6 readonly 7 :value="hitoName" 8 :?????="readMode" 9 /> 10 <!-- readMode=trueだった場合 11 名前:田中太郎 12 13 readMode=falseだった場合 14 名前:(入力フォーム表示) 15 --> 16 </div> 17</template> 18 19<script> 20export default { 21 props: { 22 hitoName: String, //"田中太郎"などの文字列が入ってくる 23 readMode: true, //true(表示モード),またはfalse(入力モード)の指定 24 }, 25} 26</script>
bootstrapを使用しており、公式ドキュメントによると、
https://getbootstrap.jp/docs/4.1/components/forms/#readonly-plain-text
<input>
にclass="form-control-plaintext"
とreadonly
を設定すれば、
フォームをプレーンテキストで表示することができるので、表示/入力の切り替えにこちらを使いたいです。
考えた案として、
readMode
propsがtrue(表示モード)
の場合、
<input>
内にclass="form-control-plaintext"
とreadonly
を設定する(もしくはfalse(入力モード)
の場合に取り除く)
という処理で動作するのでは?と思っているのですが、
htmlタグに埋め込むプロパティの操作の仕方がわかりません。
お詳しい方、ご教示願えませんでしょうか?
また、上記の方法以外の方が良いよ、などあれば合わせて指摘いただきたいです。
初心者質問で申し訳ありませんが、よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/26 04:25