前端Vue自定義頂部搜索框:實現熱門搜索與歷史搜索功能
摘要:
隨著前端開發復雜性的增加,組件化開發成為了提高效率和降低維護成本的有效手段。本文介紹了一個基于Vue的前端自定義頂部搜索框組件,該組件不僅具備基本的搜索功能,還集成了熱門搜索和歷史搜索特性,為開發者提供了一個高效、可復用的解決方案。
一、背景與意義
在前端開發中,搜索框是許多應用中不可或缺的一部分。傳統上,搜索框的實現往往與整個應用緊密耦合,導致開發和維護的復雜性較高。通過組件化的方式,我們可以將搜索框作為一個獨立的組件進行開發,使其更加靈活、可復用。此外,集成熱門搜索和歷史搜索功能可以為用戶提供更加便捷、個性化的搜索體驗。
二、Vue組件化開發的優勢
Vue作為一款流行的前端框架,其組件化開發的特點使得開發者能夠更加高效地進行前端開發。通過Vue的組件化開發,我們可以將搜索框拆分為一個獨立的組件,實現單獨開發、單獨維護,并且可以與其他組件進行靈活的組合,從而提高開發效率和降低維護成本。
三、自定義頂部搜索框的設計與實現
1. 組件結構
自定義頂部搜索框組件主要包括搜索框、熱門搜索列表和歷史搜索列表三部分。搜索框用于用戶輸入搜索關鍵詞,熱門搜索列表顯示用戶搜索頻率較高的關鍵詞,歷史搜索列表則記錄用戶的搜索歷史。
2. 數據處理
組件通過props接收一個名為skipUrl
的屬性,該屬性指定了搜索跳轉的目標URL。當用戶在搜索框中輸入關鍵詞并點擊搜索按鈕時,組件會構造一個帶有搜索關鍵詞的URL,并通過router.push
方法跳轉到目標頁面。同時,組件還會將用戶輸入的關鍵詞保存到本地存儲中,以便實現熱門搜索和歷史搜索功能。
3. 熱門搜索與歷史搜索的實現
熱門搜索功能通過統計用戶搜索關鍵詞的頻率來實現。每當用戶進行一次搜索時,組件都會更新熱門搜索列表。歷史搜索功能則通過記錄用戶搜索歷史來實現。用戶可以通過點擊歷史搜索列表中的關鍵詞快速進行搜索。
效果圖如下:
四、組件代碼實現
組件使用方法
<!-- 自定義頂部搜索框 用于搜索跳轉 skipUrl:跳轉url為絕對路徑 /pages開頭 --><cc-headSearch skipUrl="/pages/index/search"></cc-headSearch>
HTML代碼實現部分
<template><view class="content"><!-- 自定義頂部搜索框 用于搜索跳轉 skipUrl:跳轉url為絕對路徑 /pages開頭 --><cc-headSearch skipUrl="/pages/index/search"></cc-headSearch><!-- 1.推薦流貸產品”“推薦固貸產品”“推薦供應鏈產品”“推薦綜合服務” --><div class="mui-content-padded"><!-- 列表組件 --><CCBProjectList :productList="projectList" @click="goProDetail"></CCBProjectList></div></view>
</template><script>import CCBProjectList from '../../components/CCProjectList.vue';export default {components: {CCBProjectList},data() {return {skipUrl: '',// 列表數組projectList: []}},mounted() {this.requestData();},methods: {requestData() {// 模擬請求參數設置let reqData = {'area': '',"pageSize": 10,"pageNo": this.curPageNum}// 模擬請求接口this.totalNum = 39;this.projectList = [];for (let i = 0; i < 10; i++) {this.projectList.push({'proName': '商品名稱' + i,'proUnit': '商品詳情' + i,'area': '商品介紹','proType': '優質','stage': '七天無理由退貨','id': i + ''});}}}}
</script><style>page {background-color: #f7f7f7;}.content {display: flex;flex-direction: column;}.mui-content-padded {margin: 0px 14px;/* background-color: #ffffff; */}
</style>
五、總結與展望
本文介紹了一個基于Vue的前端自定義頂部搜索框組件,該組件不僅具備基本的搜索功能,還集成了熱門搜索和歷史搜索特性。通過組件化的開發方式,我們實現了單獨開發、單獨維護,并且可以與其他組件進行靈活的組合,大大提高了開發效率和降低了維護成本。未來,我們可以進一步優化該組件的性能和用戶體驗,例如增加搜索建議、搜索結果高亮等功能。
項目下載地址:
https://ext.dcloud.net.cn/plugin?id=13128