色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue搜索框篩選

錢艷冰1年前7瀏覽0評論

搜索框篩選是頁面交互設計中常見的功能之一,它可以將大量的數據快速、有效地篩選出來,提高用戶體驗,節約用戶閱讀時間。在Vue框架中,使用搜索框篩選數據可以很方便地實現。下面我們就來介紹一下如何使用Vue框架實現搜索框篩選。

首先,我們需要在Vue template中定義一個搜索框組件。可以使用input元素來實現,如下所示:

<input v-model="searchText" placeholder="請輸入要搜索的內容">

其中,v-model指令可以把searchText變量與輸入框的value屬性進行雙向綁定。輸入框內的內容改變時,searchText變量的值也會隨之改變,從而實現動態搜索頁目的。

然后,我們需要在Vue實例中定義數據對象,存放待搜索的數據列表。一般情況下,這些數據都是從后端接口中獲取的,可以使用Vue的mounted鉤子函數來獲取數據,并初始化searchText變量,如下所示:

var vm = new Vue({
el: '#app',
data: {
list: [], // 數據列表
filteredList: [], // 篩選后的數據列表
searchText: '' // 搜索框輸入內容
},
mounted: function () {
var self = this;
axios.get('/api/data/list').then(function (res) {
self.list = res.data.list;
self.filteredList = res.data.list;
}).catch(function (err) {
console.log(err);
})
},
})

在上面的代碼中,我們使用axios庫來獲取數據,并將獲取到的數據賦值給list和filteredList,同時也將輸入框內的內容初始化為空字符串。

接下來,我們需要在Vue中監聽搜索框的結果,并根據結果來篩選數據。可以在計算屬性中進行如下操作:

computed: {
filteredList: function () {
var self = this;
return self.list.filter(function (item) {
return item.name.indexOf(self.searchText) !== -1;
})
}
},

在上面的代碼中,我們使用filter函數來過濾list數組中不符合要求的數據,其中self.searchText是輸入框內的值,item.name是list中每一個對象的名字屬性,indexOf函數可以用來判斷輸入框內的值是否包含在list中的每一個對象的名字屬性中。

最后,我們還需要在Vue template中將篩選后的數據列表渲染出來:

<ul>
<li v-for="item in filteredList">{{ item.name }}</li>
</ul>

在這里,我們使用了Vue的v-for指令來通過循環渲染出篩選后的數據列表。

到這里,一個簡單的Vue搜索框篩選就完成了。當然,實際應用中的搜索功能有時需要更復雜的實現方式,例如防抖、分頁等。但本文中介紹的這種方式已經可以滿足大部分需求了。