Einführung
In diesem Projekt lernst du, wie du eine Eingabe-Suchvorschläge-Funktion mit Vue.js 2.x implementierst. Diese Funktion wird in Webanwendungen häufig verwendet, um Benutzern eine Liste von passenden Daten anzuzeigen, wenn sie in das Suchfeld eingeben.
👀 Vorschau

🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du den Anfangsbuchstaben der Tabellenüberschriften in der Datenbanktabelle groß schreibst
- Wie du die Suchvorschläge-Funktionalität basierend auf der Benutzereingabe implementierst
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Das DOM mit Vue.js-Direktiven wie
v-forundv-modelzu manipulieren - Computierte Eigenschaften in Vue.js zu erstellen, um die Suchergebnisse zu filtern und anzuzeigen
- Grundlegende Styling auf die Tabelle und das Suchfeld anzuwenden
Projektstruktur einrichten
In diesem Schritt wirst du die Projekt-Dateien und -struktur einrichten. Folge den Schritten unten, um diesen Schritt abzuschließen:
Öffne das Projektverzeichnis. Die Verzeichnisstruktur sieht wie folgt aus:
├── index.html
└── js
└── vue.js
Darin:
js/vue.jsist die Vue 2.x-Datei.index.htmlenthält den Seitenlayout- und die Funktionsimplementierungslogik-Code.
Klicke auf die Schaltfläche Go Live in der unteren rechten Ecke von WebIDE, um das Projekt auszuführen.
Öffne anschließend "Web 8080" oben auf der VM und aktualisiere es manuell, und du wirst die Seite sehen.
Die Suchvorschläge-Funktion ist noch nicht implementiert.
Tabellenüberschriften in Großbuchstaben schreiben
In diesem Schritt wirst du lernen, wie du den Anfangsbuchstaben der Tabellenüberschriften in der Datenbanktabelle groß schreibst.
- Öffne die Datei
index.htmlin deinem Code-Editor. - Locate the table header section in the HTML code:
<thead>
<tr>
<td v-for="col in columns">
{{col.slice(0,1).toUpperCase() + col.slice(1)}}
</td>
</tr>
</thead>
Die
v-for-Direktive wird verwendet, um durch das Arraycolumnszu iterieren und die entsprechenden Tabellenüberschriften anzuzeigen. Der Code{{col.slice(0,1).toUpperCase() + col.slice(1)}}wird verwendet, um den Anfangsbuchstaben jedes Spaltennamens groß zu schreiben.col.slice(0,1)extrahiert das erste Zeichen des Spaltennamens..toUpperCase()konvertiert das erste Zeichen in einen Großbuchstaben.+ col.slice(1)verknüpft das in Großbuchstaben konvertierte erste Zeichen mit dem Rest des Spaltennamens.
Speichere die Datei
index.htmlund aktualisiere die Seite. Du solltest jetzt die Tabellenüberschriften mit dem Anfangsbuchstaben in Großbuchstaben sehen.

Suchvorschläge implementieren
In diesem Schritt wirst du lernen, wie du die Suchvorschläge-Funktionalität implementierst.
- In der Datei
index.htmlfinde das Suchfeld und den zugehörigen Vue.js-Code und füge folgenden Code hinzu:
<span>Search for names: </span>
<!-- Add v-model code -->
<input placeholder="Enter the name to search" v-model="searchQuery" />
data: {
searchQuery: "",
//... andere Dateneigenschaften
},
// Der folgende Code ist der Code, der hinzugefügt werden muss
computed: {
newData() {
return this.data.filter((item) => {
return item.name
.toLowerCase()
.includes(this.searchQuery.toLowerCase());
});
}
}
- Die
searchQuery-Dateneigenschaft wird mithilfe derv-model-Direktive an das Suchfeld gebunden. Dadurch kann die Vue.js-Instanz die Benutzereingabe verfolgen. - Die berechnete Eigenschaft
newDatafiltert dasdata-Array basierend auf dem Wert vonsearchQuery. Es wird überprüft, ob diename-Eigenschaft jedes Datenelements den Suchbegriff enthält (groß- und kleingeschreibungslos). - Die gefilterten Daten werden dann im Tabellenkörper angezeigt:
<tbody>
<tr v-for="entry in newData">
<td v-for="col in columns">{{entry[col]}}</td>
</tr>
</tbody>
- Die
v-for-Direktive wird verwendet, um durch dasnewData-Array zu iterieren und jedes Datenelement in einer Tabellenzeile anzuzeigen. - Speichere die Datei
index.htmlund aktualisiere die Seite. Du solltest jetzt die Suchvorschläge-Funktionalität wie erwartet funktionieren sehen.
Jetzt hast du die Implementierung der Eingabe-Suchvorschläge-Funktion im bereitgestellten Vue.js-Projekt abgeschlossen. Das fertige Ergebnis ist wie folgt:

Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.



