在Vue中,實現input搜索功能是非常常見的需求。這個過程主要是通過監聽input輸入框的值變化,然后在數據中過濾出符合條件的結果,最后將結果展示出來。
首先,我們需要在Vue實例中定義一個data數據,用來存儲搜索結果和用戶輸入的值:
data() { return { searchValue: '', searchData: [] } }
接下來,我們在input輸入框上綁定一個v-model,實時獲取用戶輸入的值:
然后,在computed計算屬性中,定義一個篩選出符合條件的搜索結果的函數。該函數接收數據源和關鍵詞兩個參數,根據關鍵詞對數據源進行過濾:
computed: { filteredData() { return this.searchData.filter(item =>{ return item.name.includes(this.searchValue) || item.description.includes(this.searchValue) }) } }
最后,在頁面上遍歷展示搜索結果:
- {{ item.name }} - {{ item.description }}
由于searchValue的值變化會觸發computed屬性,所以當用戶輸入關鍵詞后,搜索結果也會自動更新。
上一篇html 怎么設置表格