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
Der Datentyp von MySQL ist datetime. Die in der D...
1. Übersicht Gruppieren nach bedeutet, Daten nach...
Über Nginx, eine leistungsstarke, leichte Webserv...
Inhaltsverzeichnis 1. Implementierungsprozess 2. ...
Vorwort Es gibt viele Möglichkeiten, in CSS horiz...
Obwohl Mac-Systeme mit PHP und Apache ausgeliefer...
Die domänenübergreifende Nginx-Konfiguration wird...
Das Folgende ist die Konfigurationsmethode unter ...
Bei der Arbeit an einem aktuellen Projekt habe ic...
So löschen Sie den in Docker erstellten Container...
Mit dem BGCOLOR-Attribut kann die Hintergrundfarb...
Wir befinden uns in einer Ära der rasanten Entwick...
Vorwort: Manchmal ist der Hauptteil einer Route d...
Beispielverwendung Code kopieren Der Code lautet w...
/**************************** * Systemaufruf*****...