In diesem Artikelbeispiel wird der spezifische Code von Vue zur Implementierung der Baumtabelle zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt Die Wirkung ist wie folgt:Zentriertes Bild: Der Code lautet wie folgt:<Vorlage> <div Klasse="Baumtabelle"> <Tabelle> <tr> <th>Gerätetyp</th> <th>Produktname</th> <th>Version</th> <th>Artikel prüfen</th> <th>Unterpunkte prüfen</th> <th>Überprüfen Sie die Hauptkategorien</th> <th>Unterkategorie Ausrüstung</th> <th>Bemerkungen</th> </tr> <tbody> <tr v-for="(Element, Index) in Daten" :key="Index" v-show="Element.Anzeige"> <td :style="{paddingLeft:item.left}"><span @click="nodeClick(index)" v-if="item.branch" :class="item.expand? 'expand':'collapse'"></span>{{item.type}}</td> <td>{{Artikelname}}</td> <td>{{item.version}}</td> <td>{{item.checkItem}}</td> <td>{{item.checkSubItem}}</td> <td v-if="item.branch">{{item.BigItem}}</td> <td v-else><input type="text" v-model="item.BigItem"></td> <td v-if="item.branch">{{item.smallItem}}</td> <td v-else><input type="text" v-model="item.smallItem"></td> <td v-if="item.branch">{{item.remark}}</td> <td v-else><input Typ="Text" v-Modell="Artikel.Remark"></td> </tr> </tbody> </Tabelle> </div> </Vorlage> <Skript> /* eslint-deaktivieren */ Standard exportieren { Name: "Baumtabelle", Daten () { zurückkehren { msg: 'Willkommen bei Ihrer Vue.js-App', Daten:[ {left:'0',branch:true,expand:true,display:true,id:'1',pid:'0',type:'Firewall',name:'',version:'',checkItem:'',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'0.5rem',branch:true,expand:true,display:true,id:'1_1',pid:'1',type:'Firewall',name:'CE001',version:'',checkItem:'',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'1rem',branch:true,expand:true,display:true,id:'1_1_1',pid:'1_1',type:'Firewall',name:'CE001',version:'VR001',checkItem:'',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'1.5rem',branch:true,expand:true,display:true,id:'1_1_1_1',pid:'1_1_1',type:'Firewall',name:'CE001',version:'VR001',checkItem:'Element A prüfen',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'3rem',branch:false,expand:true,display:true,id:'1_1_1_1_1',pid:'1_1_1_1',type:'Firewall',name:'CE001',version:'VR001',checkItem:'Element A prüfen',checkSubItem:'Unterelement A prüfen',BigItem:'Softwareversion',smallItem:'Element A prüfen',remark:'Bemerkungsinformationen'}, {left:'0',branch:true,expand:true,display:true,id:'2',pid:'0',type:'Datenaustauschzentrum',name:'',version:'',checkItem:'',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'0.5rem',branch:true,expand:true,display:true,id:'2_1',pid:'2',type:'Datenaustauschzentrum',name:'CE001',version:'',checkItem:'',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'1rem',branch:true,expand:true,display:true,id:'2_1_1',pid:'2_1',type:'Datenaustauschzentrum',name:'CE001',version:'VR001',checkItem:'',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'1.5rem',branch:true,expand:true,display:true,id:'2_1_1_1',pid:'2_1_1',type:'Datenaustauschzentrum',name:'CE001',version:'VR001',checkItem:'Element A prüfen',checkSubItem:'',BigItem:'',smallItem:'',remark:''}, {left:'3rem',branch:false,expand:true,display:true,id:'2_1_1_1_1',pid:'2_1_1_1',type:'Data Exchange Center',name:'CE001',version:'VR001',checkItem:'Element A prüfen',checkSubItem:'Unterelement A prüfen',BigItem:'Softwareversion',smallItem:'Element A prüfen',remark:'Bemerkungsinformationen'}, ], } }, Methoden:{ KnotenKlick(Index){ dies.datas[index].expand = dies.datas[index].expand ? false : wahr let pid = this.datas[index].id wenn (diese.datas[index].expand) { für (lass i = Index +1; i < this.datas.length; i++) { lass reg = neuer RegExp('^'+pid) wenn (diese.datas[i].pid == pid) { diese.datas[i].display = true diese.datas[i].expand = false }sonst wenn(reg.test(this.datas[i].id)){ diese.datas[i].display = false diese.datas[i].expand = false }anders{ brechen } } }anders{ für (lass i = Index +1; i < this.datas.length; i++) { lass reg = neuer RegExp('^'+pid) wenn(reg.test(this.datas[i].id)){ diese.datas[i].display = false diese.datas[i].expand = false }anders{ brechen } } } // für (let i = index +1;i<this.datas.length;i++){ // lass reg = neuer RegExp('^'+pid) // wenn(reg.test(this.datas[i].id)){ // wenn(this.datas[index].expand){ // diese.datas[i].display = true // }anders{ // diese.datas[i].display = false // diese.datas[i].expand = false // } // } // } } } } </Skript> <!-- Fügen Sie das Attribut „scoped“ hinzu, um CSS nur auf diese Komponente zu beschränken --> <Stilbereich> th,td{ Breite: 150px; } td:erstes-Kind{ Textausrichtung: links; } td Spanne { Anzeige: Inline-Block; Breite: 1,5rem; Höhe: 1rem; } td span.expand{ Hintergrundbild: URL('./folder_open.png'); } td span.collapse{ Hintergrundbild: URL('./folder.png'); } </Stil> 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:
|
<<: Detaillierte Erläuterung des Linux-Indexknoten-Inode
>>: Geplantes Teilen von Skripten für MySQL-Datenbanksicherungen
Vorwort Einführung Lombok ist ein praktisches Too...
Inhaltsverzeichnis Erfordern Implementierungscode...
Inhaltsverzeichnis 1. Startverwaltung des Quellpa...
Vorwort Während des Entwicklungsprozesses stoßen ...
Sehen Sie zuerst den Effekt Implementierungscode ...
Früher hatte fast jede Website eine Sitemap-Seite...
Öffnen Sie eine beliebige Webseite, zum Beispiel ...
1. Überprüfen Sie den Zeichensatz des standardmäß...
Schauen wir uns zunächst ein Beispiel an Code kopi...
1. Übersicht über SQLException Wenn bei der Verwe...
Einige Optimierungsregeln für Browser-Webseiten S...
Inhaltsverzeichnis 1. Nutzen Sie Komponenten sinn...
1. Laden Sie Navicat für MySQL 15 herunter https:...
Mein erstes Serverprogramm Ich lerne gerade, Onli...
Was wir jetzt simulieren, ist ein Master-Slave-Sy...