前提
Vue.jsを使ったdataオブジェクトからデータを取得するリアルタイム検索機能を持つアプリを開発中です。
###環境
・Vue 2
・vue@cli 4.5.9
・Vuetify 2.4.0
やりたいこと
v-if,v-elseを使って以下のようにパターン1、2の場合分けで描写をしたいです。
・パターン1:検索フォームに文字入力がない(true)場合は画像1のように「注意書き」を表示
・パターン2:検索フォームに文字入力がある(false)場合は画像2のように「検索結果」を表示
該当のソースコード
html
1<template> 2・ 3・ 4 <v-text-field 5 v-model="keyword" 6 label="キーワードを入力" 7 type="text" 8 ></v-text-field> 9・ 10・ 11 <v-container v-if="toggle">・・・パターン1=「注意書き」 12 <v-card class="grey lighten-5 text-center"> 13 「フリーワード検索」にキーワードを入力後 14 <br>ここに検索結果が表示されます。 15 </v-card> 16 </v-container> 17 18 <v-container v-else>・・・パターン2=「検索結果」 19・ 20・ 21 </v-container> 22・ 23・ 24</template> 25
Vue
1 2<script> 3export default { 4 data:() => ({ 5 toggle:true,←初期値=パターン1=「注意書き」 6 keyword: '', 7・ 8・ 9 checkResult(toggle){ 10 if( 11 )←ここに「keyword(or text)が空白である場合」の式を記述 12 return true, 13 else( 14 )←ここに「keyword(or text)が空白でない場合」の式を記述 15 return false 16 } 17・ 18・ 19</script>
困っていること(=教えて頂きたいこと)
・methods内checkResult
計算式のコード記述方法がわからず、ご教示いただけますでしょうか。
⇒考え方詳細は下記に記載しました。
・checkResult
計算式のHTML側への反映方法がわからず、ご教示いただけますでしょうか。
⇒使用するディレクトリはv-onなのか、v-bindなのか。どれを使ってもエラーが出てしまいます。
考えたこと
checkResult
計算式の記述内容は以下の通り考えました。
「もしkeyword(or text) === ""(空白)である場合、toggle:true
(=「注意書き」を表示)となる」
「それ以外(keyword(or text) !=== "")である場合、toggle:false
(=「検索結果」を表示)となる」
わかりずらい質問文となっており大変申し訳ございませんが
どうかご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。