In diesem Artikel wird der spezifische Code der Element-ui-Tabelle zur Realisierung der Baumstrukturtabelle zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt Frontend-Effektanzeige: In el-table wird die Anzeige baumartiger Daten unterstützt. Wenn eine Zeile ein untergeordnetes Feld enthält, wird sie als Baumdaten betrachtet. Beim Rendern von Baumdaten müssen Sie den Zeilenschlüssel angeben. Unterstützt das asynchrone Laden von untergeordneten Knotendaten. Sie können angeben, welche Zeilen untergeordnete Knoten enthalten, indem Sie das Feld „hasChildren“ in der Zeile angeben. Sowohl untergeordnete Elemente als auch hasChildren können über Tree-Props konfiguriert werden. row-key="id" und :tree-props="{children: 'children', hasChildren: 'hasChildren'} sind erforderlich. Unten ist der Tabellenbaum von Vue: <!--Tabelle--> <el-Zeile> <el-table :data="tableData" style="width: 100%;" row-key="id" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column prop="privilegeName" label="Berechtigungsname" > </el-Tabellenspalte> <el-table-column prop="privilegeCode" label="Berechtigungscode" > </el-Tabellenspalte> <el-table-column prop="privilegeType" label="Berechtigungskategorie" :formatter="formatPrivilegeType" > </el-Tabellenspalte> <el-table-column label="Vorgang"> <template slot-scope="Umfang"> <el-button type="primary" size="mini" @click="toAdd(scope)">Hinzufügen</el-button> <el-button type="primary" size="mini" @click="toEdit(scope)">Bearbeiten</el-button> </Vorlage> </el-Tabellenspalte> </el-Tabelle> <br> <el-pagination @size-change="Größenänderungsgriff" @current-change="AktuelleÄnderung handhaben" :aktuelle-seite="pagination.pageIndex" :Seitengrößen="[5, 10, 20, 30, 40]" :Seitengröße=Paginierung.Seitengröße Layout = "Gesamt, Zurück, Pager, Weiter" :total=pagination.total> </el-pagination> </el-row> Backend-Code: SpringBoot+MyPlus+MySQL8 zur Implementierung der Datenstrukturabfrage Alle Frontend-Codes: <Stil> </Stil> <Vorlage> <div id="Berechtigungsmanager"> <!--Obere Menüleiste--> <el-form :inline="true" class="demo-form-inline"> <el-form-item> <el-Schaltfläche Klasse="el-icon-refresh" Typ="primär" @click="toAdd()">Hinzufügen</el-button> </el-form-item> </el-form> <!--Tabelle--> <el-Zeile> <el-table :data="tableData" style="width: 100%;" row-key="id" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column prop="privilegeName" label="Berechtigungsname" > </el-Tabellenspalte> <el-table-column prop="privilegeCode" label="Berechtigungscode" > </el-Tabellenspalte> <el-table-column prop="privilegeType" label="Berechtigungskategorie" :formatter="formatPrivilegeType" > </el-Tabellenspalte> <el-table-column label="Vorgang"> <template slot-scope="Umfang"> <el-button type="primary" size="mini" @click="toAdd(scope)">Hinzufügen</el-button> <el-button type="primary" size="mini" @click="toEdit(scope)">Bearbeiten</el-button> </Vorlage> </el-Tabellenspalte> </el-Tabelle> <br> <el-pagination @size-change="Größenänderungsgriff" @current-change="AktuelleÄnderung handhaben" :aktuelle-seite="pagination.pageIndex" :Seitengrößen="[5, 10, 20, 30, 40]" :Seitengröße=Paginierung.Seitengröße Layout = "Gesamt, Zurück, Pager, Weiter" :total=pagination.total> </el-pagination> </el-row> </div> </Vorlage> <Skript> Standard exportieren{ Name: "Berechtigungsmanager", Daten () { zurückkehren { Tabellendaten: [], dialogFormEdit: false, dialogFormAdd:false, Privileg: Ausweis: '', Berechtigungsname: '', Berechtigungscode: '', Berechtigungstyp: '', pid: "0" }, Pagination: Seitenindex: 1, Seitengröße: 10, gesamt: 0, } } }, Methoden:{ init () { var selbst = dies dies.$axios({ Methode: 'post', URL: „/api/baoan/privilege/getPage“, Daten: {"Seite": dieser.pagination.pageIndex, "Limit": diese.pagination.pageSize, "pid": dieses.privilege.pid}, Überschriften:{ 'Content-Type':'application/json;charset=utf-8' //Einfach hier ändern} }).dann(res => { konsole.log(res); selbst.pagination.total = res.data.datas.data.total; self.tableData = res.data.datas.data.records; }) .catch(Funktion (Fehler) { console.log(Fehler) }) }, handleSizeChange(Wert) { console.log(`${val} Elemente pro Seite`); this.pagination.pageSize = Wert; diese.pagination.pageIndex = 1; dies.init(); }, handleCurrentChange(Wert) { console.log(`Aktuelle Seite: ${val}`); this.pagination.pageIndex = Wert; dies.init(); }, //Konvertierung des Berechtigungstyps formatPrivilegeType: function( row, column) { wenn(Zeile.PrivilegeType === '1'){ returniere 'Verzeichnis' } sonst wenn(row.privilegeType === '2') { 'Menü' zurückgeben } sonst wenn (row.privilegeType === '3') { Zurück-Schaltfläche } anders { zurückkehren '' } } }, montiert: Funktion () { dies.init() } } </Skript> Zusammenfassen:1. Beachten Sie, dass in der Front-End-Tabelle Folgendes geändert werden muss: 2. Die wichtigsten Änderungen am Backend sind: (1) Fügen Sie der Ansichtsebene ein Ansichtsebenensammlungsattribut hinzu. Beachten Sie, dass es als untergeordnete Elemente bezeichnet werden muss, damit das Frontend es in einer Baumstruktur rendern kann. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Analyse des Unterschieds zwischen „Platzieren auf“ und „Wo“ in MySQL-Abfragebedingungen
Die Tabellenstruktur ist wie folgt. Es gibt nur 6...
In diesem Artikel werden die spezifischen Schritt...
Vorwort In MySQL werden datenbankübergreifende Ab...
Inhaltsverzeichnis 1. js-Speicher 2. Abtretung 3....
Inhaltsverzeichnis 1. Was bedeutet „Shallow Copy“...
Dieser Artikel ist ein integrierter Artikel zum E...
weniger Dateiname Datei anzeigen kleiner Dateinam...
Zu viele Verbindungen zur MySQL-Datenbank Dieser ...
Verwenden Sie den folgenden Befehl, um zu überprü...
Hintergrund Heute habe ich CodePen durchsucht und...
„Großartig“ sind wahrscheinlich die beiden Worte, ...
Seitdem ich 2017 mit der Arbeit an Vulhub begonne...
Dieser Artikel verwendet das Centos7.6-System und...
1. Browser-Rendering-Modus und Doctype Einige Web...
Drop-Tabelle Drop löscht Tabelleninformationen di...