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
In diesem Artikelbeispiel wird der spezifische Co...
1. So überwachen Sie MySQL-Deadlocks in Produktio...
Heute musste ich nach dem Neustart des Spiels fes...
So ändern Sie den Stil der von elementUI bereitge...
Was sind Slots? Wir wissen, dass in Vue nichts in...
Für einzelne Webmaster war es schon immer das Ziel...
<Vorlage> <div Klasse="App-Containe...
Inhaltsverzeichnis Vorwort verwenden Komponentens...
IIS7 muss bestätigen, ob das pseudostatische Modu...
1: Unterschiede bei Geschwindigkeit und Lademethod...
In diesem Artikelbeispiel wird der spezifische JS...
In diesem Artikelbeispiel wird der spezifische JS...
Jeder, der schon einmal an einem großen System ge...
Ich habe vor kurzem angefangen, MySQL zu lernen. ...
Vorwort Der Befehl „Explain“ ist die primäre Mögl...