Vue3.0 implementiert die Kapselung von Kontrollkästchenkomponenten

Vue3.0 implementiert die Kapselung von Kontrollkästchenkomponenten

In diesem Artikelbeispiel wird der spezifische Code von vue3.0 zur Implementierung der Kontrollkästchenkomponentenkapselung zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Allgemeine Schritte:

  • Realisieren Sie den Auswahl- und Abwahleffekt der Komponente selbst
  • Implementieren Sie die V-Model-Direktive der Komponente
  • In @vueuse/core -Funktionsschreiben umgewandelt
<!-- Grundlegender Komponentenstil -->
<Vorlage>
  <div Klasse="xtx-checkbox" @click="changeChecked()">
    <i v-if="geprüft" class="iconfont icon-geprüft"></i>
    <i v-else class="iconfont icon-unchecked"></i>
    <span v-if="$slots.default"><slot /></span>
  </div>
</Vorlage>

<Skript>
importiere { ref } von 'vue'
Standard exportieren {
  Name: "XtxCheckbox",
  aufstellen () {
    const geprüft = ref(false)
    const changeChecked = () => {
      geprüfter Wert = !geprüfter Wert
    }
    return { geprüft, geändert geprüft }
  }
}
</Skript>

<style scoped lang="weniger"> 
 // Der Stil kann nach Bedarf geändert werden.xtx-checkbox {
  Anzeige: Inline-Block;
  Rand rechts: 2px;
  .icon-geprüft {
    Farbe: @xtxColor;
    ~ Spanne {
      Farbe: @xtxColor;
    }
  }
  ich {
    Position: relativ;
    oben: 1px;
  }
  Spanne {
    Rand links: 2px;
  }
}
</Stil>
// Hinweis: Wenn Sie es global verwenden müssen, müssen Sie es als globale Komponente registrieren
<!-- Implementieren Sie die v-model-Direktive -->
... Lassen Sie die Struktur <script> weg.
importiere { toRef } von 'vue'
Standard exportieren {
  Name: "XtxCheckbox",
  Requisiten: {
    modelValue: { // Der Standardbindungswert von v-model ist modelValue
      Typ: Boolean,
      Standard: false
    }
  },
  setup (eigenschaften, { emit }) {
    const checked = toRef(props, 'modelValue') // Definieren Sie „checked“, um den empfangenen Booleschen Wert zu speichern const changeChecked = () => {
      emit('update:modelValue', !checked.value) // Übergebe den Wert an die übergeordnete Komponente, um das Kontrollkästchen zu aktivieren}
    return { geprüft, geändert geprüft }
  }
}
</Skript>
... Elliptischer Stil
<!-- Grundlegende Verwendung -->
<!-- Benutzerdefinierter Kontrollkästchentest -->
<xtx-checkbox v-model="checked">Benutzerdefiniertes Kontrollkästchen</xtx-checkbox>
<Skript>
importiere { ref } von 'vue'
Standard exportieren {
  Name: 'Unterkategorie',
  aufstellen () {
    const geprüft = ref(true)
    return { geprüft}
  }
}
</Skript> 

<!-- @vueuse/Kernfunktion schreiben -->
<Vorlage>
  <div Klasse="xtx-checkbox" @click='checked=!checked'>
    <i v-if="geprüft" class="iconfont icon-geprüft"></i>
    <i v-else class="iconfont icon-unchecked"></i>
    <span>
      <Steckplatz />
    </span>
  </div>
</Vorlage>

<Skript>
importiere { useVModel } von '@vueuse/core' // erfordert npm i @vueuse/core oder yarn add @vueuse/core
Standard exportieren {
  Name: "XtxCheckbox",
  Requisiten: {
    Modellwert: {
      Typ: Boolean,
      Standard: false
    }
  },
  setup (eigenschaften, { emit }) {
    // Den von der übergeordneten Komponente übergebenen Wert von modelValue abrufen const checked = useVModel(props, 'modelValue', emit)
    return { geprüft}
  }
}
</Skript>


// Verwendungsmethode wie oben <xtx-checkbox v-model="checked">Benutzerdefiniertes Kontrollkästchen</xtx-checkbox>
<Skript>
importiere { ref } von 'vue'
Standard exportieren {
  Name: 'Unterkategorie',
  aufstellen () {
    const geprüft = ref(true)
    return { geprüft}
  }
}
</Skript>

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:
  • Vue3-Kompilierungsprozess - Quellcodeanalyse
  • Details zu 7 Arten der Komponentenkommunikation in Vue3
  • Detaillierte Erläuterung der Vue3-Kapselungsfunktion für Nachrichtenaufforderungsinstanzen
  • Der Unterschied und die Verwendung des Kommunikationsbusses der Bruderkomponenten von Vue2 und Vue3
  • Verwenden von vue3 zum Implementieren eines Beispiels für die Kapselung von Zählfunktionskomponenten
  • Vue3.0 implementiert die Kapselung des Dropdown-Menüs
  • Vergleich der Vorteile von vue3 und vue2
  • Praktischer Bericht über die Entwicklung von Vue3- und TypeScript-Projekten
  • Zusammenfassung der Projektentwicklungspraxis in Kombination mit Vue3 von TypeScript
  • Vue3 AST Parser-Quellcode-Analyse

<<:  So installieren Sie Nginx in Docker

>>:  MySQL-Variablenprinzipien und Anwendungsbeispiele

Artikel empfehlen

Installieren Sie Docker unter CentOS 7

Wenn Sie kein Linux-System haben, finden Sie unte...

22 Vue-Optimierungstipps (Projektpraxis)

Inhaltsverzeichnis Code-Optimierung Verwenden der...

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

Warum wird UTF-8 in MySQL nicht empfohlen?

Ich bin kürzlich auf einen Fehler gestoßen, als i...

Lösungen für Websites mit hohem Datenverkehr

Erstens: Stellen Sie zunächst sicher, dass die Ser...

Vue-Anfängerhandbuch: Erstellen des ersten Vue-cli-Scaffolding-Programms

1. Vue – Das erste Vue-CLI-Programm Die Entwicklu...

Detaillierte Erläuterung der Beispiele für CSS-Gewichtswerte (Kaskadierung)

•Es gibt viele Selektoren in CSS. Was passiert, w...

Kopieren von JS-Objekten (Deep Copy und Shallow Copy)

Inhaltsverzeichnis 1. Oberflächliche Kopie 1. Obj...

setup+ref+reactive implementiert Vue3-Reaktionsfähigkeit

Das Setup wird zum Schreiben kombinierter APIs ve...

Anleitung zur Vermeidung von Docker Win Ping-Fehlern bei Containern

Über Win Docker-Desktop möchte ich mich mit der C...

Spezifische Verwendung von Docker Anonymous Mount und Named Mount

Inhaltsverzeichnis Datenvolumen Anonyme und benan...