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

So erhalten Sie Datums-/Uhrzeitdaten in MySQL, gefolgt von .0

Der Datentyp von MySQL ist datetime. Die in der D...

Erklären Sie kurz die Verwendung von „group by“ in SQL-Anweisungen

1. Übersicht Gruppieren nach bedeutet, Daten nach...

Implementierungsbeispiel für die Nginx-Zugriffskontrolle

Über Nginx, eine leistungsstarke, leichte Webserv...

Das Prinzip und die Implementierung der bidirektionalen Bindung in Vue2.x

Inhaltsverzeichnis 1. Implementierungsprozess 2. ...

Installieren Sie Apache2.4+PHP7.0+MySQL5.7.16 auf macOS Sierra

Obwohl Mac-Systeme mit PHP und Apache ausgeliefer...

Beispiel für die Konfiguration der domänenübergreifenden Fehlerbehebung in nginx

Die domänenübergreifende Nginx-Konfiguration wird...

Konfigurationsmethode für die SystemC-Umgebung unter Linux

Das Folgende ist die Konfigurationsmethode unter ...

Lösen Sie das Problem der leeren Lücke am unteren Rand des Img-Bildes

Bei der Arbeit an einem aktuellen Projekt habe ic...

So löschen Sie den in Docker erstellten Container

So löschen Sie den in Docker erstellten Container...

Tutorial zu HTML-Tabellen-Tags (20): Zeilenhintergrund-Farbattribut BGCOLOR

Mit dem BGCOLOR-Attribut kann die Hintergrundfarb...

Mobiles Internet-Zeitalter: Responsive Webdesign ist zum allgemeinen Trend geworden

Wir befinden uns in einer Ära der rasanten Entwick...

vue.js Router verschachtelte Routen

Vorwort: Manchmal ist der Hauptteil einer Route d...

Beispiele für die Verwendung von HTML-Metadaten

Beispielverwendung Code kopieren Der Code lautet w...

Hinweise zum Systemaufruf des Linux-Kernel-Gerätetreibers

/**************************** * Systemaufruf*****...