Szenario: Ein Prüfdokument hat n Prüfdetails und ein Prüfdetail hat n Prüfelemente. Implementierungseffekt: Wenn die Maus auf das Zusammenfassungssymbol der Detailzeile bewegt wird, wird das Popup-Fenster der Inspektionsartikelkarte der aktuellen Zeile angezeigt und das Popup-Fenster wird geschlossen, wenn die Maus aus dem Popup-Fenster bewegt wird Details des Prüfdokuments Bewegen Sie die Maus über das Projektübersichtssymbol EffektrealisierungIn Daten deklarierte Variablen //Popup-Fenster umreißen outlineDialog: false, //Standardzusammenfassung der aktuellen Zeile standSummary: [], // Gliederung der Popup-Fensterpositionssteuerung outlineCard: { SeiteY: null, SeiteX: null, Anzeige: "keine" } 1. Popup-Code outlineDialog: Standardmäßig „false“, das Outline-Popup-Fenster zeigt das Logo an <!-- Projektübersicht --> <div class="summary-div" v-show="outlineDialog" ref="box-cardDiv" :style="outlineStyle" @mouseleave="verlassen"> <div class="summary-title">Projektzusammenfassung</div> <ul Klasse="Zusammenfassung-ul"> <li class="summary-li"><span>Standardname</span><span>Ist er erforderlich?</span><span>Wird er angezeigt?</span></li> <li v-for="(item, index) in standSummary" :key="index" class="summary-li"><span>{{item.inspectdetailName}}</span><span>{{item.isRequired ? 'Ja' : 'Nein'}}</span> <span>{{item.isDisplay ? 'Ja' : 'Nein'}}</span> </li> </ul> </div> 2. Code im Popup-Fensterstil <style lang="scss"> #box-cardDiv { Position: absolut; } .summary-div { Rand: durchgezogen 1px #eee; Hintergrundfarbe: #fff; Rahmenradius: 4px; Kastenschatten: 0 2px 12px 0 rgba(0, 0, 0, .1); Polsterung: 10px 10px 0 10px; Breite: 300px; Position: absolut; Schriftgröße: 13px; } .summary-ul { Listenstil: keiner; Polsterung links: 0; maximale Höhe: 350px; Überlauf-x: versteckt; Überlauf-y: automatisch; } .summary-li { Rand: 10px 10px 15px 10px; Breite: 250px; Textüberlauf: Auslassungspunkte; Überlauf: versteckt; /* Leerzeichen: nowrap; */ Anzeige: Flex; Spanne { Rand: automatisch; Breite: 55px; } } .summary-li:erstes-Kind span:nicht(:erstes-Kind) { Rand links: 40px; } .summary-li:nicht(:erstes-Kind) span:ntes-Kind(1) { Breite: 90px; } .summary-li:nicht(:erstes-Kind) span:ntes-Kind(2) { Breite: 50px; Rand links: 45px; } .summary-li:nicht(:erstes-Kind) span:ntes-Kind(3) { Rand links: 60px; } .Zusammenfassungstitel { Farbe: #cccccc; Rand links: 10px; } </Stil> 3. Spaltencode der Artikelübersicht der detaillierten Tabelle checkStandSunmmary: Das Ereignis, wenn die Maus zum Zusammenfassungssymbol bewegt wird <el-table-column label="Projektübersicht" align="center" width="500"> <template slot="header"> <span>Projektübersicht</span> <span class="vertical"></span> </Vorlage> <template slot-scope="Umfang"> <div Klasse="col-summmary-div"> <span class="col-summmary-format"><span>{{scope.row.firstListItem}}</span></span> <span> {{scope.row.equInspectplanItemList.length}} Elemente</span> <i class="el-icon-arrow-down" @mouseenter="checkStandSunmmary(scope.row)"></i> </div> </Vorlage> </el-Tabellenspalte> 4. OutlineStyle - Dynamische Stilsteuerung für Popup-Karten Wenn sich die Details unten auf der Seite befinden, wird die Karte zwar noch angezeigt, aber ein Teil davon wird verdeckt. Sie müssen die Position der Kartenöffnung dynamisch entsprechend der Position des Zusammenfassungssymbols berechnen. Wenn es unten ist, öffnen Sie die Karte nach oben. berechnet: { Umrissstil() { sei h = 45 * this.standSummary.length; let browser = document.body.clientHeight - 50; let pageY = this.outlineCard.pageY - 50; let pageX = this.outlineCard.pageX – 280; if (SeiteY + h > Browser) { returniere `links: ${ pageX }px; oben: ${ (pageY-h) }px; Position: absolut; Anzeige: ${ this.outlineCard.display }`; } anders { returniere `links: ${ pageX }px; oben: ${ (pageY-60) }px; Position: absolut; Anzeige: ${ this.outlineCard.display }`; } } }, 5. Ereignis verlassen, wenn die Maus die Popup-Karte verlässt Wenn die Maus aus der Karte herausbewegt wird, setzen Sie den /** * Mauszeiger verlassen Standardzusammenfassung */ verlassen() { this.outlineCard.display = "keine"; this.outlineDialog = falsch; }, 6. checkStandSunmmary-Ereignis, wenn die Maus zum Zusammenfassungssymbol bewegt wird Öffnen Sie die Popup-Karte und rufen Sie die Inspektionselemente der aktuellen Zeile ab. Rufen Sie die aktuelle Mausposition auf den X- und Y-Achsen des Browsers ab. Setzen Sie den Popup-Kartenstil dynamisch auf null (die Anzeige wird angezeigt, außer „none“, was bedeutet, dass sie nicht angezeigt wird). /** * Aktuelle Zeilenstandardzusammenfassung */ checkStandSunmmary(Zeile) { this.outlineDialog = wahr; this.standSummary = Zeile.equInspectplanItemList; this.outlineCard.pageY = Fenster.Ereignis.ClientY; diese.outlineCard.pageX = Fenster.Ereignis.ClientX; this.outlineCard.display = null; }, ZusammenfassenDies ist das Ende dieses Artikels über das Popup-Fenster mit der Zusammenfassung der Vue+Element-UI-Implementierung. Weitere relevante Inhalte zum Popup-Fenster der Vue+Element-UI finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Das neueste grafische Tutorial zur Installation und Konfiguration von MySQL 5.7.23
>>: Detaillierte Erklärung der nmcli-Verwendung in CentOS8
1 Starten Sie den Docker-Dienst Zuerst müssen Sie...
Inhaltsverzeichnis Vorwort Anwendung Zusammenfass...
Im offiziellen Dokument heißt es: Durch Einfügen ...
Inhaltsverzeichnis Problemszenario: Lösung: 1. Üb...
Da ich das System häufig installiere, muss ich na...
Navigationsleiste erstellen: Technische Vorausset...
In diesem Artikel wird der spezifische Code von j...
Nginx Rewrite-Nutzungsszenarien 1. Sprung der URL...
In einem aktuellen Unternehmen besteht die Anford...
Führen Sie den Befehl aus: docker run --name cent...
Einführung 1. <iframe>-Tag: Ein Iframe ist ...
<br />In früheren Tutorials von 123WORDPRESS...
Inhaltsverzeichnis planen Abhängigkeiten installi...
Derzeit nutzen die meisten Linux-Benutzer entwede...
So funktioniert Nginx Nginx besteht aus einem Ker...