Detaillierte Erläuterung der Komponentenentwicklung des Vue-Dropdown-Menüs

Detaillierte Erläuterung der Komponentenentwicklung des Vue-Dropdown-Menüs

In diesem Artikelbeispiel wird der spezifische Code für die Komponentenentwicklung des Vue-Dropdown-Menüs zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Machen Sie eine benutzerdefinierte Komponente, nur ein sehr einfaches Dropdown-Menü, das heißt eine Idee, das Ganze

Schritt 1: Erstellen Sie im Projekt einen Ordner zum Speichern benutzerdefinierter Komponenten (direkt gemeinsam unter Komponenten).

dropdown.vue ist eine Box der ersten Ebene

dropdownMenu.vue ist eine sekundäre Box

dropdownItem.vue ist der sekundäre Boxinhalt

Schritt 2:

Operationen auf dropdown.vue

<Vorlage>
  <div Klasse="Box">
     <!-- Der Schaltfläche ein Klickereignis hinzufügen-->
    <div @click="showM">
          <!-- Schaltfläche der ersten Ebene -->
      <slot name="Titel"></slot>
    </div>
        <!-- Sekundäre Box -->
        
        <!-- Fügen Sie eine v-if-Operation hinzu, um den Anzeigeeffekt auszublenden-->
    <slot v-if="anzeigen" name="dropdown"></slot>
  </div>
</Vorlage>

<Skript>
  Standard exportieren {
    Name: "Dropdown",
    Daten() {
      zurückkehren {
        // Die sekundäre Standardbox ist geschlossen. Show: false
      }
    },
    Methoden: {
      zeigeM() {
        dies.show = !dies.show
      },
      commitClick(Wert) {
      // Das Dropdown-Ereignis dem übergeordneten Element zugänglich machen und den Wert an this.$emit('change-item',value) übergeben.
      }
    }
  }
</Skript>

<Stilbereich>
  .Kasten {
    Anzeige: Inline-Block; /* Inline-Block */
    position: relativ; /* relative Positionierung*/
    oben: 100px;
    Rand links: 100px
  }
</Stil>

Behandeln Sie das Dropdown-Menü einfach wie eine Box. Sie müssen nur einen Slot hinzufügen und die Box erstellen.

<Vorlage>
  <div Klasse="Dropdown-Menü">
    <Steckplatz></Steckplatz>
  </div>
</Vorlage>

<Skript>
  Standard exportieren {
    Name: "Dropdown-Menü"
  }
</Skript>

<Stilbereich>
  .Dropdown-Menü {
    padding: 8px 0; /* Der innere Rand der Box beträgt oben 8px und links und rechts 0 */
    border-radius: 4px; /* abgerundete Ecken der Box*/
    Rahmen: 1px durchgezogen #f2f6fc; /* Rahmen ist 1px grau*/
    position: absolute; /* absolute Positionierung*/
    rechts: 0; /* auf der rechten Seite */
    oben: 110 %; /* Die Box befindet sich unter der Schaltfläche */
    Hintergrundfarbe: #fff; /* Hintergrundfarbe ist weiß*/
    Kastenschatten: 0 2px 4px rgba(0,0,0,0,12),0 0 6px rgba(0,0,0,04);
    /* Füge der Box einen Schatten hinzu */
  }
</Stil>

Operationen an Dropdown-Elementen

<Vorlage>
  <div Klasse="Dropdown-Element" @click="itemClick(Wert)">
    <Steckplatz></Steckplatz>
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Name: "DropdownItem",
  Requisiten: ['Wert'],
  Daten() {
    zurückkehren {};
  },
  Methoden: {
    itemClick(Wert) {
      // console.log(Wert)
      //Rufen Sie das übergeordnete Element des übergeordneten Elements der aktuellen Komponente auf, d. h. die Methode showM() des Dropdown-Menüs, um dies zu schließen.$parent.$parent.showM();
      // Rufen Sie die CommitClick-Methode des übergeordneten Elements (Dropdown) des übergeordneten Elements auf und übergeben Sie den Wert this.$parent.$parent.commitClick(value);
    },
  },
};
</Skript>

<Stilbereich>
 .Dropdown-Element {
   Zeilenhöhe: 40px; /* Zeilenhöhe 40px */
   white-space: nowrap; /* kein Zeilenumbruch*/
   padding: 0 20px; /* Der innere Rand beträgt oben und unten 0 und links und rechts 20px */
   Farbe: #606266; /* Schriftfarbe ist grau*/
   Cursor: Zeiger; /*Bewegen Sie die Maus zum Klicken*/
 }
  .dropdown-item:hover {
    Farbe: #409eff; /* Schriftfarbe ist blau*/
    Hintergrundfarbe: #ecf5ff; /* Die Hintergrundfarbe sollte hell sein~~ ein sehr helles Blau*/
  }
</Stil>

Als nächstes bearbeiten Sie die Datei App.vue

<Vorlage>
  <div id="app">
    <dropdown @change-item="changeItem">
      <button slot="title">Schaltfläche</button>
      <Dropdown-Menü-Slot="Dropdown">
        <dropdown-item value="Essen">Essen</dropdown-item>
        <dropdown-item value="Getränk">Getränk</dropdown-item>
        <dropdown-item value="Abspielen">Abspielen</dropdown-item>
      </Dropdown-Menü>
    </dropdown>
  </div>
</Vorlage>

<Skript>
  Dropdown importieren aus „./components/common/dropdown“
  Dropdown-Menü aus "./components/common/dropdownMenu" importieren;
  Dropdown-Element aus "./components/common/dropdownItem" importieren;
  Standard exportieren {
    Name: "App",
    Komponenten:
      Dropdown, Dropdown-Menü, Dropdown-Element
    },
    Methoden:{
      ändereElement(e){
        console.log(e)
      }

    }
  }
</Skript>

Importieren Sie die Komponente in main.js

importiere zgDropdown aus "@/components/common/dropdown"
importiere zgDropdownMenu aus "@/components/common/dropdownMenu"
importiere zgDropdownItem aus "@/components/common/dropdownItem"
Vue.component('zgDropdownItem',zgDropdownItem)
Vue.Komponente('zgDropdown',zgDropdown)
Vue.component('zgDropdownMenu',zgDropdownMenu)

app.vue sollte ebenfalls entsprechend geändert werden

<Vorlage>
  <div id="app">
    <zg-dropdown @change-item="changeItem">
      <button slot="title">Schaltfläche</button>
      <zg-dropdown-menu slot="Dropdown">
        <zg-dropdown-item value="Essen">Essen</zg-dropdown-item>
        <zg-dropdown-item value="Getränk">Getränk</zg-dropdown-item>
        <zg-dropdown-item value="Abspielen">Abspielen</zg-dropdown-item>
      </zg-Dropdown-Menü>
    </zg-dropdown>
  </div>
</Vorlage>

<Skript>
  Standard exportieren {
    Name: "App",
    Methoden:{
      ändereElement(e){
        console.log(e)
      }

    }
  }
</Skript>
<Stilbereich>

</Stil>

Das ist in etwa die Idee.

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:
  • Kennen Sie die Komponentenbildung im Vue-Lebenszyklus?
  • Detaillierte Erläuterung des Lernumfangs von Vue-Komponenten
  • Grundlegende Fähigkeiten für die Entwicklung von Vue-Komponenten: Komponentenrekursion
  • Grundlegende Nutzungsdetails zur Vue-Komponentenbildung
  • Gängige Methoden der Vue-Komponentenbildung: Übertragung und Kommunikation von Komponentenwerten
  • Lassen Sie uns gemeinsam die Komponentenbildung von Vue lernen

<<:  MySQL-Anmelde- und Beendigungsbefehlsformat

>>:  So überwachen Sie MySQL mit Zabbix

Artikel empfehlen

Implementierung der Docker-Batch-Container-Orchestrierung

Einführung Der Dockerfile-Build-Ausführungsvorgan...

So installieren Sie schnell eine Tensorflow-Umgebung in Docker

Installieren Sie schnell die Tensorflow-Umgebung ...

Zusammenfassung zum Hinzufügen von Root-Berechtigungen für Benutzer in Linux

1. Fügen Sie einen Benutzer hinzu . Verwenden Sie...

18 Killer-JavaScript-Einzeiler

Vorwort JavaScript erfreut sich weiterhin wachsen...

Tabelle der durch hasLayout verursachten CSS-Fehler

Der IE hat schon seit längerem Probleme. Als alle ...

Zusammenfassung der MySQL-DML-Anweisungen

DML-Operationen beziehen sich auf Operationen an ...

Detaillierte Erklärung der Nodejs-Array-Warteschlange und der forEach-Anwendung

In diesem Artikel werden hauptsächlich die Proble...

Eine kurze Diskussion zum Problem des Docker-Run-Containers im erstellten Status

Bei einem aktuellen Problem gibt es folgendes Phä...

Tutorial zur Installation von VMware Workstation 14 Pro unter Ubuntu 16.04

In diesem Artikel wird die spezifische Methode zu...