以下のコードのようにすると
js
1<html> 2<body> 3<div id="app"> 4 <input type="text" v-model="keyword"> 5 <table> 6 <tr v-for="user in filteredUsers" :key="user.id"> 7 <td v-text="user.id"></td> 8 <td v-text="user.name"></td> 9 <td v-text="user.email"></td> 10 </tr> 11 </table> 12</div> 13<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.min.js"></script> 14<script> 15 16 new Vue({ 17 el: '#app', 18 data: { 19 keyword: '', 20 users: [ 21 { 22 id: 1, 23 name: '鈴木太郎', 24 email: 'suzukitaro@example.com' 25 }, 26 { 27 id: 2, 28 name: '佐藤二郎', 29 email: 'satoujiro@example.com' 30 }, 31 { 32 id: 3, 33 name: '田中三郎', 34 email: 'tanakasaburo@example.com' 35 }, 36 ] 37 }, 38 computed: { 39 filteredUsers: function() { 40 41 var users = []; 42 43 for(var i in this.users) { 44 45 var user = this.users[i]; 46 47 if(user.name.indexOf(this.keyword) !== -1 || 48 user.email.indexOf(this.keyword) !== -1) { 49 50 users.push(user); 51 } 52 } 53 54 return users; 55 56 } 57 } 58 }); 59 60</script> 61</body> 62</html>
このようになります。
#したいこと
私はinputタグに入力された文字がヒットする場合のみ表示するようにしたいです。
inputタグが空の場合は何も表示したくないです。
どのようにしたらいでしょうか??
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。