


So verwenden Sie Vue und Element-UI zum Gruppieren und Zusammenfassen von Daten
So verwenden Sie Vue und Element-UI zum Gruppieren und Zusammenfassen von Daten
In der Frontend-Entwicklung stoßen wir häufig auf Situationen, in denen wir Daten gruppieren und zusammenfassen müssen. Vue ist ein sehr beliebtes JavaScript-Framework und Element-UI ist eine auf Vue basierende Komponentenbibliothek. Es bietet einen umfangreichen Satz an UI-Komponenten, die uns beim schnellen Erstellen von Seiten helfen können. In diesem Artikel wird die Verwendung von Vue und Element-UI zum Gruppieren und Zusammenfassen von Daten vorgestellt und anhand von Codebeispielen veranschaulicht.
Vorbereitung
Zuerst müssen wir Vue und Element-UI installieren. Sie können über den folgenden Befehl installiert werden:
npm install vue npm install element-ui
Nachdem die Installation abgeschlossen ist, können wir Vue und Element-UI im Projekt verwenden.
Datengruppierung
Bei der Datengruppierung werden Daten mit denselben Attributen klassifiziert und nach Gruppen angezeigt. Wir können die Tabellenkomponente in Element-UI verwenden, um diese Funktion zu erreichen.
Angenommen, wir haben eine Datenliste der Schülerleistungen mit der folgenden Struktur:
const scores = [ { name: '张三', subject: '数学', score: 90 }, { name: '李四', subject: '语文', score: 85 }, { name: '王五', subject: '数学', score: 95 }, { name: '赵六', subject: '语文', score: 92 }, { name: '小明', subject: '数学', score: 88 }, { name: '小红', subject: '英语', score: 91 } ];
Wir müssen diese Daten nach Fächern gruppieren und in einer Tabelle anzeigen. Zuerst müssen wir die Element-UI-Tabellenkomponente in die Vue-Komponente einführen:
import { Table, TableColumn } from 'element-ui';
Dann definieren wir die benötigten Daten und die Spalten der Tabelle in der Komponente:
data() { return { scores: scores, columns: [ { label: '姓名', prop: 'name' }, { label: '科目', prop: 'subject' }, { label: '分数', prop: 'score' } ], groupedScores: [] }; },
In den gemounteten Hook können wir Code schreiben Verarbeiten Sie die Datengruppierung. Hier verwenden wir die Reduzierungsmethode, um dies zu erreichen:
mounted() { const groups = this.scores.reduce((acc, score) => { const group = acc.find(g => g.subject === score.subject); if (group) { group.scores.push(score); } else { acc.push({ subject: score.subject, scores: [score] }); } return acc; }, []); this.groupedScores = groups; },
Als Nächstes verwenden wir die Tabellenkomponente in unserer Vorlage, um die Daten anzuzeigen:
<el-table :data="groupedScores"> <el-table-column v-for="column in columns" :label="column.label" :key="column.prop"> <template slot-scope="{ row }"> {{ row[column.prop] }} </template> </el-table-column> </el-table>
Auf diese Weise haben wir die Gruppierung der Daten und die Anzeige im erreicht Tisch. Führen Sie den Code aus und Sie sehen eine nach Konto gruppierte Tabelle.
Datenzusammenfassung
Als nächstes fassen wir die Daten zusammen. Angenommen, wir müssen die durchschnittliche und maximale Punktzahl jedes Fachs in der obigen Tabelle anzeigen.
Zuerst müssen wir einige berechnete Eigenschaften in der Komponente definieren, um die zusammenfassenden Daten zu erhalten:
computed: { averageScore() { return this.groupedScores.map(group => { const scores = group.scores.map(score => score.score); const average = scores.reduce((sum, score) => sum + score, 0) / scores.length; return { subject: group.subject, average: average.toFixed(2) }; }); }, maxScore() { return this.groupedScores.map(group => { const scores = group.scores.map(score => score.score); const max = Math.max(...scores); return { subject: group.subject, max: max }; }); } },
Dann fügen wir der Tabelle zwei Spalten hinzu, um die zusammenfassenden Daten anzuzeigen:
<el-table :data="groupedScores"> <el-table-column v-for="column in columns" :label="column.label" :key="column.prop"> <template slot-scope="{ row }"> {{ row[column.prop] }} </template> </el-table-column> <el-table-column label="平均分"> <template slot-scope="{ row }"> {{ averageScore.find(s => s.subject === row.subject).average }} </template> </el-table-column> <el-table-column label="最高分"> <template slot-scope="{ row }"> {{ maxScore.find(s => s.subject === row.subject).max }} </template> </el-table-column> </el-table>
Auf diese Weise haben wir die Gruppierung abgeschlossen und Zusammenfassung der Datenfunktion. Führen Sie den Code aus und Sie können sehen, dass die durchschnittliche Punktzahl und die höchste Punktzahl für jedes Fach in der Tabelle angezeigt werden.
Zusammenfassung
Das Obige ist der Prozess der Gruppierung und Zusammenfassung von Daten mithilfe von Vue und Element-UI. Durch die Einführung der Tabellenkomponente von Element-UI können wir Daten einfach gruppieren und anzeigen und in Kombination mit berechneten Attributen auch die Datenzusammenfassungsfunktion implementieren. Ich hoffe, dieser Artikel ist hilfreich für Sie. Vielen Dank für das Lesen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Vue und Element-UI zum Gruppieren und Zusammenfassen von Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

Es gibt zwei Möglichkeiten, Divelemente in Vue zu springen: Verwenden Sie Vue Router und fügen Sie Router-Link-Komponente hinzu. Fügen Sie den @click Event -Listener hinzu und nennen Sie dies. $ Router.push () Methode zum Springen.

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.
