【Vue3】用computed進行搜尋過濾

Vue3

【Vue3】用computed進行搜尋過濾

Vue3


methods方法

1
2
3
4
5
6
7
8
9
<div id="app">
  <input type="search" v-model="search">
  <h6>搜尋結果:</h6>
  <ul>
    <li v-for="product in filterProducts">
      {{ product.name }} / {{ product.price }}
    </li>
  </ul>
</div>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Vue.createApp({
  data(){
    return{
      products:[
        {
          name: '蛋餅',
          price: 30,
          vegan: false
        },
        {
          name: '飯糰',
          price: 35,
          vegan: false
        },
        {
          name: '小籠包',
          price: 60,
          vegan: false
        },
        {
          name: '蘿蔔糕',
          price: 30,
          vegan: true
        },
      ],
      search: ""
    }
  },
  computed:{
    filterProducts(){
      return this.products.filter((item)=>{
        return item.name.match(this.search);
      })
    }
  }
}).mount("#app");

Vue3 

其他相關