Vue implementiert Beispielcode für benutzerdefinierte „modales Popup-Fenster“-Komponente

Vue implementiert Beispielcode für benutzerdefinierte „modales Popup-Fenster“-Komponente

Vorwort

Das Dialogfeld ist eine sehr häufige Komponente und wird an vielen Stellen verwendet. Normalerweise können wir die integrierte Warnung verwenden, um das Dialogfeld anzuzeigen. Was aber, wenn es sich um ein entworfenes Diagramm handelt? Wir müssen also selbst ein Dialogfeld schreiben. Schauen wir uns den detaillierten Implementierungsprozess an.

Rendern

Im obigen Screenshot zeigt der rote Rand an, dass der „Text, das Symbol oder das Bild“ der editierbare Teil ist.

Beispielcode

1. Erstellen Sie eine Popup-Komponente quitDialog.vue-Komponente

<Vorlage>
  <Übergangsgruppenname='verblassen'>
    <!-- Popup-Fenster verlassen-->
    <div Klasse="Dialog beenden"
         Schlüssel="1"
         @click="istBeenden = false"
         v-if="istBeenden"
         @touchmove.prevent>
    </div>
    <div Klasse="Beenden-Box"
         v-show="istBeenden"
         Schlüssel="2">
      <img :src="Bild-URL"
           :alt="imgLoadTip">
           <div class="quit_title">{{title}}</div>
      <p>{{Inhalt}}</p>
      <button class="quit_btn" @click="leftClick">{{btnText}}</button>
      <button class="quit_close" @click="rightClick">{{rightText}}</button>
    </div>
  </Übergangsgruppe>
</Vorlage>
<Skript>
Standard exportieren {
  Name: 'Popup',
  Daten () {
    zurückkehren {
      isQuit: falsch,
      imgUrl: '',
      Titel: '',
      Inhalt: '',
      btnText: '',
      rechterText: ''
    }
  },
  Methoden: {
    leftClick () {
      dies.leftBtn()
      this.isQuit = false
    },
    Rechtsklick () {
      dies.rightBtn()
      this.isQuit = false
    }
  }
}
</Skript>
<style lang="scss" scoped>
// Popup-Fenster verlassen.fade-enter,
.fade-leave-active {
  Deckkraft: 0;
}
.fade-enter-active,
.fade-leave-active {
  Übergang: Deckkraft 0,35 s;
}
// Globales Popup-Fenster.quit_dialog {
  Hintergrund: rgba(0,0,0,.5);
  Position: fest;
  oben: 0;
  links: 0;
  Höhe: 100%;
  Breite: 100 %;
  Z-Index: 10000;
}
 
.quit_box {
  Breite: 700px;
  Hintergrund: #fff;
  Position: fest;
  oben: 50 %;
  links: 50%;
  Rand links: -350px;
  Rand oben: -190px;
  Z-Index: 10001;
  Rahmenradius: 10px;
  Textausrichtung: zentriert;
  Polsterung: 50px;
  img{
    Breite: 80px;
  }
 .quit_title{
      Farbe: #666;
      Schriftgröße: 28px;
      Rand: 45px 0px;
  }
  Taste {
    Rahmenradius: 32px;
    Polsterung: 20px 0px;
    Schriftgröße: 26px;
    Rahmenradius: 8px;
    Breite: 214px;
  }
  .quit_btn{
    Farbe: #03BA82;
    Hintergrund: #fff;
    Rand: 1px durchgezogen #03BA82;
    Rand rechts: 32px;
  }
  .beenden_schließen {
    Hintergrund: linearer Farbverlauf (0 Grad, #03BA82, #01D695);
    Kastenschatten: 0px 3px 4px 0px rgba (1, 84, 58, 0,27);
    Rand: 1px durchgezogen #03BA82;
    Farbe: #fff;
  }
}
</Stil>

2. Erstellen Sie grabDialog.js

Vue von „vue“ importieren
Grasp importieren aus '../components/QuitDialog/QuitDialog'
 
const PopupBox = Vue.extend(Grasp).
 
Grasp.install = Funktion (Daten) {
  let Instanz = neue PopupBox({
    Daten
  }).$mount()
 
  Dokument.Body.AppendChild(Instanz.$el)
 
  Vue.nextTick(() => {
    Instanz.isQuit = true
    //isQuit entspricht isQuit in der Popup-Komponente und wird zur Steuerung der Sichtbarkeit verwendet})
}
 
Standard-Grasp exportieren

3. Importieren Sie in die globale main.js

Vue von „vue“ importieren
Popup aus „./api/quitDialog“ importieren
Vue.prototype.$popup = Popup.install

4. Um die Seite aufzurufen, rufen Sie einfach die Funktion auf

Methoden: {
    grabBtn () {
      dies.$grasp({
        imgUrl: require('../../assets/home/quits.png'), // Oberes Bild.
        imgLoadTip: „Bild wird geladen …“,
        Inhalt: 'Warme Tipps',
        Titel: 'Hinweis: Diese Lernaufgabe ist nicht abgeschlossen. Bestätigen Sie den Abschluss',
        btnText: 'Grausamer Abgang',
        rightText: 'Weiter studieren',
        // Linksklick-Ereignis leftBtn: () => {
          dies.$store.dispatch('user/logout').then(() => {
            dies.$signalr.LogoutPad()
            this.$signalr.SendMsg(2, 0, 'System verlassen')
            dies.$router.push('/login')
          })
        },
        // Rechtsklick-Ereignis rightBtn: () => {}
      })
    }
}

Zusammenfassen

Dies ist das Ende dieses Artikels über die Implementierung benutzerdefinierter „modaler Popup-Fenster“-Komponenten in Vue. Weitere relevante Inhalte zu benutzerdefinierten „modalen Popup-Fenster“-Komponenten in Vue finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Benutzerdefinierter globaler Popup-Komponentenbetrieb von Vue

<<:  CSS3-Zeitleistenanimation

>>:  Sieben Lösungen für klassische verteilte Transaktionen zwischen MySQL und Golan

Artikel empfehlen

Vollständige Analyse der MySQL-Datentypen

Datentyp: Die grundlegenden Regeln, die definiere...

Schleifenmethoden und verschiedene Durchlaufmethoden in js

Inhaltsverzeichnis for-Schleife While-Schleife do...

Häufige Fehler und Gründe für MySQL-Verbindungsfehler

=================================================...

Lösung für das Problem, dass Centos8 Docker nicht installieren kann

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...

Eine Minute, um die Laufruhe von HTML+Vue+Element-UI zu erleben

Technik-Fan html-Webseite, müssen Sie wissen Von ...

Zusammenfassung des MySQL Undo Log und Redo Log

Inhaltsverzeichnis Undo-Protokoll Erstellung und ...

Beispielcode zur Implementierung transparenter Verlaufseffekte mit CSS

Die Titelbilder in den Spalten von Zhihu Discover...

Schritte zum Importieren von Millionen von Daten in MySQL mit .Net Core

Inhaltsverzeichnis Vorbereitende Vorbereitung Imp...