Ich entwickle derzeit ein neues App-Projekt. Dies ist auch mein erstes Mal, dass ich eine App entwickle. Nach einer Phase der Recherche und Untersuchung durch das Team haben wir uns entschieden, das Front-End-Komponentenmodell Vue3+Vant für die Entwicklung zu verwenden. Wir haben Vue2 für mehrere Projekte verwendet und beschlossen, dieses Mal Vue3 für die Front-End-Entwicklung zu verwenden. Drücken Sie die Eingabetaste, um zu suchen und die Detailseite aufzurufen Verlaufsseite Verlauf löschen Erstellen Sie zunächst eine JS-Datei. Diese JS-Datei enthält hauptsächlich die Funktionen zum Hinzufügen historischer Datensatzinformationen und zum Löschen aller historischen Datensatzinformationen. Standard exportieren { // Suchstartseitenverlaufsabfragedatensatz hinzufügen addSearchHistory(state, payload) { // Wenn die Liste den Datensatz enthält, löschen Sie ihn const index = state.searchHistoryList.indexOf(payload); wenn (Index > -1) { Zustand.searchHistoryList.splice(index, 1); } Status.searchHistoryList.unshift(Nutzlast); // Die maximale Anzahl von Datensätzen im Verlaufsdatensatz beträgt 20 const count = state.searchHistoryList.length; Zustand.searchHistoryList.splice(20, Anzahl); }, // Lösche den Suchverlauf auf der Startseite clearSearchHistory(state) { Staat.searchHistoryList = []; }, }; Vue-Codeblöcke <Vorlage> <!-- Suchfeld --> <Suchleiste @searchClick="Suchklick" :Platzhalterwert="Status.Platzhalterwert" :searchVal="Status.searchVal"> </Suchleiste> <div Klasse="Suche"> <!-- Suchverlauf --> <div Klasse="Geschichte" v-if="Zustand.isShowHistory"> <span class="proHot">Suchverlauf</span> <span class="delHotSearch" @click="delHostClick">Verlauf löschen</span> <!-- Historische Datensatzinformationen speichern--> <div Klasse="searchBtn-div"> <span v-for="(Element, Index) in Status.HistoryList" :key="Index" Klasse="searchValBtn" > <van-Schaltfläche runden Größe="klein" @click="SuchwertKlick(Element)" >{{ Artikel }} </van-button> </span> </div> </div> </div> </Vorlage> <Skript> importieren { aufMounted, reaktiv, getCurrentInstance, } von „vue“; importiere { Toast, Dialog } von 'vant'; Suchleiste aus „@/components/SearchBar.vue“ importieren; importiere { useRouter } von „vue-router“; importiere { useStore } von „vuex“; Standard exportieren { Komponenten: Suchleiste, }, aufstellen() { const router = useRouter(); const store = useStore(); const { proxy } = getCurrentInstance(); const state = reaktiv({ isShowHistory: '', // Ob der Verlauf angezeigt werden soll searchVal: '', // Suchbegriff placeholderValue: 'Suche nach Produkten/Informationen/Standards/Zutaten/Unternehmen', historyList: [], // historische Suchdaten}); // Eingabetaste zur Suche const searchClick = (val) => { store.commit('Suchverlauf hinzufügen', Wert); // router.push({ Pfad: '/Suchdetail', Abfrage: { Suchwert: Wert } }); }; // Verlauf löschen const delHostClick = async () => { Dialog.confirm({ Nachricht: „Möchten Sie Ihren Suchverlauf wirklich löschen?“ ', }).then(() => { store.commit('Suchverlauf löschen', speichern); Zustand.isShowHistory = false; Toast({ Meldung: 'Erfolgreich gelöscht', Position: 'unten', }); }); }; // Initialisieren und historische Suchdatensatzinformationen abrufen onMounted(async () => { // Historische Suchinformationen abrufen state.historyList = store.state.searchHistoryList; // Bestimmen Sie, ob die Anzeigeverlaufssuche initialisiert werden soll, wenn (state.historyList.length > 0) { Zustand.isShowHistory = true; } anders { Zustand.isShowHistory = false; } }); zurückkehren { Zustand, SucheKlick, delHostClick, }; }, }; </Skript> <style lang="less" scoped> </Stil> Wenn Sie den Vue-Code direkt kopieren und einfügen, können Sie ihn möglicherweise nicht direkt verwenden, da viele Geschäftscodes gelöscht wurden und es sich bei den verbleibenden hauptsächlich um Codes für historische Suchdatensätze handelt. Dabei stehen drei Schwerpunkte im Vordergrund: Einführung in useStore importiere { useStore } von „vuex“; const store = useStore(); Suchverlauf initialisieren // Initialisieren und Informationen zum historischen Suchdatensatz abrufen // Jedes Mal, wenn diese Seite geladen wird, wird diese Methode zuerst aufgerufen, um die neuesten Informationen abzurufen onMounted(async () => { // Historische Suchinformationen abrufen state.historyList = store.state.searchHistoryList; // Bestimmen Sie, ob die Anzeigeverlaufssuche initialisiert werden soll, wenn (state.historyList.length > 0) { Zustand.isShowHistory = true; } anders { Zustand.isShowHistory = false; } }) Das Suchfeld löst ein Suchereignis aus und speichert die Suchinformationen im Store // Die untergeordnete Komponente gibt ein Ereignis aus und die übergeordnete Komponente ruft const searchClick = (val) => { auf. // Suchwert in die Historie übernehmen store.commit('Suchverlauf hinzufügen', Wert); // Die Routenumleitung kann ignoriert werden // router.push({ path: '/search-detail', query: { searchVal: val } }); }; Verlauf löschen // Verlauf löschen const delHostClick = async () => { Dialog.confirm({ Nachricht: „Möchten Sie Ihren Suchverlauf wirklich löschen?“ ', }).then(() => { // Verlauf löschen informationstore.commit('clearSearchHistory', store); Zustand.isShowHistory = false; Toast({ Meldung: 'Erfolgreich gelöscht', Position: 'unten', }); }); }; Oben sind die Details zur Verwendung der Vue3+Vant-Komponente zur Implementierung der App-Suchverlaufsfunktion aufgeführt. Weitere Informationen zum Vue-Suchverlauf finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Öffnen Sie den Windows-Server-Port (nehmen Sie als Beispiel Port 8080)
>>: Diagramm des Tutorials zur Installation der Version VMware 15.5 unter Windows_Server_2008_R2
1. Einleitung WHMCS bietet eine Komplettlösung fü...
NERDTree ist ein Dateisystembrowser für Vim. Mit ...
*******************Einführung in die HTML-Sprache ...
<br />Ich werde mit diesem Problem im Grunde...
HTML-Struktur <Text> <div Klasse="W...
border-radius:10px; /* Alle Ecken sind mit einem ...
Inhaltsverzeichnis 1. Baidu Map API-Zugriff 2. Ve...
In diesem Artikel finden Sie das Installations- u...
Ich habe heute Abend ein Problem gelöst, das mich...
1. Einleitung: Da mein Freund einige Systemkenntn...
Dieser Artikel veranschaulicht anhand von Beispie...
1. Erster Download von der offiziellen Website vo...
Inhaltsverzeichnis Prinzip Vorbereitung der Netzw...
Vor einiger Zeit habe ich einen Blogbeitrag mit d...
Hintergrund: Während des Entwicklungsprozesses mü...