Verwenden Sie die Vue3+Vant-Komponente, um die Suchverlaufsfunktion der App zu implementieren (Beispielcode).

Verwenden Sie die Vue3+Vant-Komponente, um die Suchverlaufsfunktion der App zu implementieren (Beispielcode).

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.
Ich war gerade für die Entwicklung der Suchfunktion verantwortlich und es bestand eine Nachfrage nach historischen Suchdatensätzen. Zuerst dachte ich, dass die Speicherinformationen dieses Datensatzes auch in einer Datenbanktabelle abgelegt würden, aber nach einigen Untersuchungen stellte ich fest, dass dies nicht der Fall war und er lokal gespeichert werden musste. Die Methoden im Internet konnten das Problem jedoch nicht vollständig lösen. Nach einigen Versuchen habe ich es endlich geschafft. Und hier sind ohne weiteres die Ergebnisse.
Initialisieren Sie die Anzeige des Suchverlaufs

Initialisieren Sie bu und zeigen Sie keine historischen Suchdatensätze an

Drücken Sie die Eingabetaste, um zu suchen und die Detailseite aufzurufen

Drücken Sie die Eingabetaste, um zu suchen und die Detailseite aufzurufen

Verlaufsseite

Drücken Sie die Eingabetaste, um die Verlaufsinformationen zu suchen und zu laden.

Verlauf löschen

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:
  • Detaillierte Erklärung zur Verwendung der Vue-Nummernschild-Eingabekomponente
  • Vue elementui implementiert den Beispielcode der öffentlichen Komponentenkapselung der Suchleiste
  • Detaillierte Erläuterung der Kapselung und Anwendung der allgemeinen Bedingungssuchkomponenten von Vue2.x
  • Durchsuchbare Dropdown-Box-Funktion für Vue-Komponenten
  • Implementierungscode der Vue-Dropdown-Menükomponente (einschließlich Suche)
  • Die el-input-Komponente des Vue.js-Projekts hört auf die Eingabetaste, um das Beispiel der Suchfunktion zu implementieren
  • Implementierung einer benutzerdefinierten Komponente für ein durchsuchbares Dropdown-Feld basierend auf Vue
  • Vue-Komponente implementiert durchsuchbare Dropdown-Box-Erweiterung
  • Detaillierte Erläuterung der Verwendung der Vue2.0-Suchkomponente mit mehreren Bedingungen
  • Detaillierte Erklärung zur Verwendung der Vue-Komponente zur Kennzeichensuche

<<:  Ö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

Artikel empfehlen

WHMCS V7.4.2 Grafisches Installationstutorial

1. Einleitung WHMCS bietet eine Komplettlösung fü...

Detaillierte Schritte zur Installation des NERDTree-Plugins in Vim unter Ubuntu

NERDTree ist ein Dateisystembrowser für Vim. Mit ...

HTML-Tutorial, leicht zu erlernende HTML-Sprache (2)

*******************Einführung in die HTML-Sprache ...

border-radius ist eine Methode zum Hinzufügen abgerundeter Ränder zu Elementen

border-radius:10px; /* Alle Ecken sind mit einem ...

Methoden und Schritte für den Zugriff auf die Baidu Maps API mit JavaScript

Inhaltsverzeichnis 1. Baidu Map API-Zugriff 2. Ve...

Div in HTML ausblenden Tabelle ausblenden TABLE- oder DIV-Inhalt im CSS-Stil

Ich habe heute Abend ein Problem gelöst, das mich...

Apple Mac OS X in VMWare12 installieren – Grafik-Tutorial

1. Einleitung: Da mein Freund einige Systemkenntn...

MySql 5.7.20 Installation und Konfiguration von Daten- und my.ini-Dateien

1. Erster Download von der offiziellen Website vo...

Detaillierter Prozess zur Konfiguration von NIS in Centos7

Inhaltsverzeichnis Prinzip Vorbereitung der Netzw...

So finden Sie Informationen zu nicht festgeschriebenen Transaktionen in MySQL

Vor einiger Zeit habe ich einen Blogbeitrag mit d...

So verwenden Sie Zeit als Beurteilungsbedingung in MySQL

Hintergrund: Während des Entwicklungsprozesses mü...