Neuer Ansatz zum Umschalten der Tab-Leiste mit zwei Auswahlmöglichkeiten in Vue

Neuer Ansatz zum Umschalten der Tab-Leiste mit zwei Auswahlmöglichkeiten in Vue

Problembeschreibung

Wenn wir an einem Projekt arbeiten, müssen wir manchmal einige Umschalteffekte für die Registerkartenleiste erstellen. Manche haben zwei Laschen, manche haben drei Laschen und manche haben sogar fünf, sechs, sieben oder acht Laschen. Normalerweise verwenden wir einfach die Tab-Komponente von Ele.me, aber manchmal, wenn wir Zeit haben, schreiben wir eine, um zwischen zwei Tabs zu wechseln, also einen Zwei-Auswahl-Effekt. Genug des Smalltalks, hier sind die dynamischen Renderings

Dieser Fall ist für zwei Registerkarten geeignet (drei Registerkarten können auf die gleiche Weise wie bei mir geschrieben werden. Bei vier oder fünf Registerkarten ist es schneller, die Ele.me-Komponente zu verwenden).

Der Code lautet wie folgt

HTML-Teil

<Vorlage>
 <div id="app">
  <div Klasse="tabWrap">
   <!-- Diese Struktur ist eine Tab-Navigation, an die das entsprechende Klick-Ereignis gebunden ist. Beim Rückruf des Klick-Ereignisses werden das Ein- und Ausblenden des entsprechenden Inhalts sowie die Änderung des Stils gesteuert, also das Umschalten der Tabs-->
   <div Klasse="tabNav">
    <div Klasse="navOne" @click="tabOne">Tab1</div>
    <div Klasse="navTwo" @click="tabTwo">tab2</div>
   </div>
   <!-- Diese Struktur ist der Inhalt, der der Tab-Navigation entspricht-->
   <div Klasse="tabContent">
    <!-- Verwenden Sie v-show, um das Ausblenden zu steuern. So können Sie gleichzeitig eines ausblenden und eines anzeigen, und der Effekt des Umschalteffekts der Registerkartenleiste wird erzielt-->
    <div class="navOneBox" v-show="showTabOne">Ich schalte 1</div>
    <div class="navTwoBox" v-show="showTabTwo">ich bin tab2</div>
   </div>
  </div>
 </div>
</Vorlage>

js-Teil

<Skript>
Standard exportieren {
 Name: "App",
 Daten() {
  zurückkehren {
   showTabOne: true, // Wählen Sie einen der beiden Tabs zum Wechseln aus. showTabTwo: false, // Wählen Sie einen der beiden Tabs zum Wechseln aus. };
 },
 Methoden: {
  //Wählen Sie einen der beiden Tab-Leistenschalter tabOne() {
   /*
    Wenn Sie auf Tab1 klicken, machen Sie Tab1 sichtbar und Tab2 ausgeblendet, d. h. showTabOne ist „true“ und showTabTwo ist „false“.
    Ändern Sie gleichzeitig den Stil von Registerkarte1, um sie „hervorgehoben“ anzuzeigen, und vergessen Sie nicht, den Stil von Registerkarte2 zu ändern, um sie „nicht hervorgehoben“ anzuzeigen.
    Das Gleiche gilt, wenn Sie auf Tab2 klicken.
   */
   dies.showTabOne = wahr;
   dies.showTabTwo = falsch;
   document.querySelector(".navOne").style.backgroundColor = "#fff";
   document.querySelector(".navTwo").style.backgroundColor = "#e3e3e3";
   document.querySelector(".navOne").style.color = "#3985EC";
   Dokument.querySelector(".navTwo").style.color = "#80868D";
  },
  //Wählen Sie eine der beiden Tab-Leisten zum Umschalten tabTwo() {
   dies.showTabTwo = wahr;
   dies.showTabOne = falsch;
   document.querySelector(".navOne").style.backgroundColor = "#e3e3e3";
   document.querySelector(".navTwo").style.backgroundColor = "#fff";
   document.querySelector(".navTwo").style.color = "#3985EC";
   Dokument.querySelector(".navOne").style.color = "#80868D";
  },
 },
};
</Skript>

CSS-Teil

<style lang="less">
.tabNav {
 Breite: 126px;
 Höhe: 30px;
 Rahmenradius: 2px;
 Hintergrundfarbe: #e3e3e3;
 Anzeige: Flex;
 Elemente ausrichten: zentrieren;
 Inhalt ausrichten: gleichmäßiger Abstand;
 .navOne {
  Breite: 60px;
  Höhe: 26px;
  Rahmenradius: 2px;
  Hintergrundfarbe: #fff;
  Farbe: #3985ec;
  Schriftgröße: 14px;
  Schriftstärke: 500;
  Anzeige: Flex;
  Inhalt ausrichten: zentriert;
  Elemente ausrichten: zentrieren;
  Cursor: Zeiger;
 }
 .navZwei {
  Breite: 60px;
  Höhe: 26px;
  Farbe: #80868d;
  Rahmenradius: 2px;
  Schriftgröße: 14px;
  Schriftstärke: 500;
  Anzeige: Flex;
  Inhalt ausrichten: zentriert;
  Elemente ausrichten: zentrieren;
  Cursor: Zeiger;
 }
}
.tabInhalt {
 Rand oben: 8px;
 .navOneBox {
  Hintergrundfarbe: #bfa;
 }
 .navTwoBox {
  Hintergrundfarbe: #baf;
 }
}
</Stil>

Dies ist das Ende dieses Artikels über die neue Implementierung des Tab-Leisten-Umschaltens mit zwei Auswahlmöglichkeiten von Vue. Weitere relevante Inhalte zum Tab-Leisten-Umschalten von Vue 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:
  • Vue realisiert den Hervorhebungseffekt beim Klicken auf die Registerkartenleiste
  • Realisieren Sie die Funktion zum Wechseln von Inhalten in der Registerkartenleiste und zum Aktualisieren von Daten in Echtzeit basierend auf Vue

<<:  Detaillierte Erklärung des "/"-Problems, wenn proxy_pass gemäß dem Pfad weiterleitet

>>:  MySQL-Daemon konnte nicht gestartet werden – Fehlerlösung

Artikel empfehlen

Verwenden Sie Standard-DL-, DT- und DD-Tags, um Tabellenlisten zu verwerfen

Heutzutage beginnen immer mehr Front-End-Entwickle...

Methoden und Techniken zur Gestaltung einer interessanten Website (Bild)

Haben Sie schon einmal eine Situation erlebt, in d...

Tiefgreifendes Verständnis der CSS @font-face-Leistungsoptimierung

In diesem Artikel werden hauptsächlich allgemeine...

Implementierungsbeispiel für die Message Board-Funktion von Node.js+Express

Inhaltsverzeichnis Nachrichtenbrett Erforderliche...

Installationsprozess der React Native-Umgebung

React-Native-Installationsprozess 1.npx react-nat...

CSS3 realisiert den roten Umschlag-Shaking-Effekt

Es besteht die Anforderung, den Schütteleffekt de...

Natives JS zur Implementierung der Paging-Klicksteuerung

Dies ist eine Interviewfrage, die die Verwendung ...

Docker konfiguriert den Speicherort lokaler Images und Container

Verwenden Sie den Befehl „Find“, um Dateien zu fi...

Prinzip des MySQL-Indexfehlers

Inhaltsverzeichnis 1. Gründe für Indexfehler 2. S...

Erste Schritte mit benutzerdefinierten Anweisungen in Vue 3.0

Inhaltsverzeichnis 1. Benutzerdefinierte Anweisun...

Grundkenntnisse zu MySQL – Lernhinweise

Datenbank anzeigen show databases; Erstellen eine...