日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

使用Vue3+Vant組件實現App搜索歷史記錄功能(示例代碼)

瀏覽:28日期:2022-09-28 18:40:46

最近在開發一款新的app項目,我自己也是第一次接觸app開發,經過團隊的一段時間研究調查,決定使用Vue3+Vant前端組件的模式進行開發,vue2開發我們已經用過幾個項目了,所以決定這一次嘗試使用Vue3來進行前段開發。我剛開始負責搜索功能的開發,有歷史搜索記錄的需求,一開始我認為這是記錄的存儲信息也會放在一個數據庫表里面,但經過一番調查,發現并不是這樣,而是要存儲在本地。但是網上的方法也并沒有完全解決問題,經過一番嘗試,終于給搞好了,話不多說,直接上效果圖。初始化不顯示歷史搜索記錄

使用Vue3+Vant組件實現App搜索歷史記錄功能(示例代碼)

回車搜索進入詳情頁面

使用Vue3+Vant組件實現App搜索歷史記錄功能(示例代碼)

歷史記錄頁面

使用Vue3+Vant組件實現App搜索歷史記錄功能(示例代碼)

清除歷史記錄

使用Vue3+Vant組件實現App搜索歷史記錄功能(示例代碼)

首先創建一個js文件這個js文件主要包括了增加歷史記錄信息,刪除所有歷史記錄信息的功能

export default { // 添加搜索首頁歷史查詢記錄 addSearchHistory(state, payload) { // list中包含該記錄的時,刪除 const index = state.searchHistoryList.indexOf(payload); if (index > -1) { state.searchHistoryList.splice(index, 1); } state.searchHistoryList.unshift(payload); // 歷史記錄中最大記20個記錄 const count = state.searchHistoryList.length; state.searchHistoryList.splice(20, count); }, // 清除搜索首頁歷史查詢記錄 clearSearchHistory(state) { state.searchHistoryList = []; },};

Vue代碼塊

<template> <!-- 搜索框 --> <search-bar @searchClick='searchClick' :placeholderValue='state.placeholderValue' :searchVal='state.searchVal'> </search-bar> <div class='search'> <!-- 搜索歷史 --> <div v-if='state.isShowHistory'> <span class='proHot'>搜索歷史</span> <span @click='delHostClick'>清除歷史</span> <!-- 存放歷史記錄信息 --> <div class='searchBtn-div'><span v-for='(item, index) in state.historyList' :key='index' ><van-button round size='small' @click='searchValClick(item)' >{{ item }}</van-button> </span> </div> </div> </div></template><script>import { onMounted, reactive, getCurrentInstance,} from ’vue’;import { Toast, Dialog } from ’vant’;import searchBar from ’@/components/SearchBar.vue’;import { useRouter } from ’vue-router’;import { useStore } from ’vuex’;export default { components: { searchBar, }, setup() { const router = useRouter(); const store = useStore(); const { proxy } = getCurrentInstance(); const state = reactive({ isShowHistory: ’’, // 是否顯示歷史記錄 searchVal: ’’, // 搜索關鍵字 placeholderValue: ’搜索產品/資訊/標準/成分/企業’, historyList: [], // 歷史搜索數據 }); // 回車搜索 const searchClick = (val) => { store.commit(’addSearchHistory’, val); // router.push({ path: ’/search-detail’, query: { searchVal: val } }); }; // 清除歷史記錄 const delHostClick = async () => { Dialog.confirm({message: ’確定要刪除歷史搜索嗎?’, }).then(() => {store.commit(’clearSearchHistory’, store);state.isShowHistory = false;Toast({ message: ’刪除成功’, position: ’bottom’,}); }); };// 初始化獲取歷史搜索記錄信息 onMounted(async () => { // 獲取歷史搜索信息 state.historyList = store.state.searchHistoryList; // 判斷初始化是否顯示歷史搜索 if (state.historyList.length > 0) {state.isShowHistory = true; } else {state.isShowHistory = false; } }); return { state, searchClick, delHostClick, }; },};</script><style lang='less' scoped></style>

Vue代碼直接粘貼復制的話可能沒法直接用,因為這里面有好多業務代碼已經刪除,留下的主要是歷史搜索記錄的代碼。主要有三個重點:

引入useStore

import { useStore } from ’vuex’;const store = useStore();

初始化檢索歷史搜索記錄

// 初始化獲取歷史搜索記錄信息// 每次加載這和頁面都會首先調用這個方法,來取最新的信息 onMounted(async () => { // 獲取歷史搜索信息 state.historyList = store.state.searchHistoryList; // 判斷初始化是否顯示歷史搜索 if (state.historyList.length > 0) {state.isShowHistory = true; } else {state.isShowHistory = false; } })

搜索框觸發搜索事件將搜索信息存放在Store中

// 子組件發射一個事件,父組件調用 const searchClick = (val) => { // 將搜索值放入歷史記錄中 store.commit(’addSearchHistory’, val); // 路由跳轉可以忽略 // router.push({ path: ’/search-detail’, query: { searchVal: val } }); };

清空歷史記錄

// 清除歷史記錄 const delHostClick = async () => { Dialog.confirm({message: ’確定要刪除歷史搜索嗎?’, }).then(() => { // 清空歷史記錄信息store.commit(’clearSearchHistory’, store);state.isShowHistory = false;Toast({ message: ’刪除成功’, position: ’bottom’,}); }); };

以上就是使用Vue3+Vant組件實現App搜索歷史記錄功能的詳細內容,更多關于vue 搜索歷史記錄的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
神马久久午夜| 国产精品呻吟| 蜜桃一区二区三区在线观看| 青青草91久久久久久久久| 日韩中文字幕av电影| 在线综合亚洲| 国产视频一区欧美| 欧美资源在线| 不卡福利视频| 99久久99久久精品国产片果冰| 午夜精品久久久久久久久久蜜桃| 亚洲成人一区在线观看| 成人在线视频免费| 日本久久精品| 在线观看精品| 久久精品国产99久久| 欧美色图一区| 美女久久一区| 亚洲精品在线a| 日本国产一区| 国产精品视频一区二区三区| 九九九精品视频| 国产99在线| 在线日韩欧美| 丝袜美腿亚洲一区二区图片| 亚洲精品免费观看| 国产精品激情| 国产成人精品一区二区三区在线| 日韩不卡视频在线观看| 亚洲深夜福利| 欧美一级网址| 成人片免费看| 免费日韩精品中文字幕视频在线| 午夜性色一区二区三区免费视频| 国产精品日韩精品中文字幕| 欧美少妇精品| 亚洲欧美日韩在线观看a三区| 亚洲精品日本| 日韩1区2区| 尹人成人综合网| 日本免费新一区视频| 麻豆视频久久| 日韩中文在线电影| 香蕉久久夜色精品国产| 国产日韩欧美中文在线| 国产一区精品福利| 在线一区视频| 国产精品1luya在线播放| 蜜桃av在线播放| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品观看| 欧美日韩国产一区二区三区不卡| 日本vs亚洲vs韩国一区三区二区| 久久中文字幕一区二区| 在线一区电影| 国产精品一区二区三区av| 欧美国产美女| 亚洲成人一区| 国产精品久久久网站| 亚洲午夜在线| 国产精品2023| 香蕉久久夜色精品国产| 精品入口麻豆88视频| 99日韩精品| 国产精品mm| 日韩午夜黄色| 另类小说一区二区三区| 在线综合亚洲| 天堂√中文最新版在线| 日产欧产美韩系列久久99| 久久精品卡一| 国产精品日韩精品中文字幕| 婷婷激情综合| 狠狠久久伊人| 日韩 欧美一区二区三区| 啪啪国产精品| 国产精品视频一区视频二区| 亚洲综合日韩| 日韩欧美另类一区二区| 日韩1区2区日韩1区2区| 午夜av一区| 成人高清一区| 久久精品99久久久| 美女网站久久| 蜜桃视频欧美| 国产一区不卡| 欧美日韩xxxx| 国产亚洲激情| 电影天堂国产精品| 精品亚洲a∨一区二区三区18| 免费在线观看视频一区| 日本在线精品| 国产精品毛片一区二区在线看| 国产亚洲欧美日韩精品一区二区三区 | 激情不卡一区二区三区视频在线| 亚洲高清二区| 中文字幕在线看片| 国产无遮挡裸体免费久久| 亚洲黄页一区| 电影亚洲精品噜噜在线观看| 精品国产亚洲一区二区在线观看| 日韩精品亚洲专区| 性一交一乱一区二区洋洋av| 久久久一二三| 日韩一区二区在线免费| 精品视频网站| 国产精品亲子伦av一区二区三区 | 欧美成人久久| 精品视频网站| 国产图片一区| 亚洲精品福利| 99亚洲视频| 欧美日韩在线网站| 最新中文字幕在线播放 | 亚洲资源av| 婷婷激情久久| 青青青免费在线视频| 国产精品久久| 奇米777国产一区国产二区| 国产一区91| 国产高清一区| 欧美jjzz| 亚洲第一区色| 欧美日韩亚洲在线观看| 亚洲福利免费| 久久免费国产| 久久久久国产精品一区三寸| 91精品xxx在线观看| 成人久久久久| 婷婷成人在线| 日韩一级不卡| 奶水喷射视频一区| 亚洲色诱最新| 性一交一乱一区二区洋洋av| 亚洲少妇自拍| 喷白浆一区二区| 日韩在线卡一卡二| 日韩制服丝袜先锋影音| 中文字幕一区二区三区日韩精品| 午夜在线观看免费一区| 蜜臀精品久久久久久蜜臀| 亚洲精品看片| 日韩视频一二区| 日韩精品免费视频一区二区三区| 日韩一区精品| 国产探花在线精品| 麻豆一区二区99久久久久| 国产剧情一区| 精品国产亚洲一区二区三区大结局 | 久久亚洲专区| 91久久午夜| 免费看欧美美女黄的网站| 久久国产精品亚洲77777| 蜜桃视频免费观看一区| 日本亚州欧洲精品不卡| 国产日韩欧美一区二区三区| 四虎国产精品免费久久| 国产精品毛片视频| 97精品国产| 亚洲韩日在线| 激情91久久| 中文字幕亚洲精品乱码| 欧美日韩视频| 亚洲毛片一区| 美女视频黄 久久| 免费一二一二在线视频| 日韩午夜精品| 欧美一区自拍| 日本а中文在线天堂| 欧美日韩少妇| 欧美亚洲tv| 欧洲av不卡| 在线观看亚洲精品福利片| 国产麻豆一区二区三区| 久久久久免费| 99国产精品| 国产精品资源| 国产精品99在线观看| 欧美.日韩.国产.一区.二区| 一区二区电影在线观看| 久久影视三级福利片| 激情久久五月| 青青伊人久久| 美女一区网站| 亚洲精品麻豆| 久久这里只有精品一区二区| 精品一区在线| 亚洲精品九九| 国产精品亚洲一区二区三区在线观看| 午夜精品一区二区三区国产| 亚洲麻豆一区| 91中文字幕精品永久在线| 欧美日一区二区| 日韩av一区二区三区| 伊人www22综合色| 国产一区二区三区免费在线| 伊人久久大香线蕉av不卡| 日韩不卡一区二区三区| 久久久一本精品| 欧美亚洲免费|