Vue Uniapp realisiert den Segmentierungseffekt

Vue Uniapp realisiert den Segmentierungseffekt

In diesem Artikel wird der spezifische Code von Vue Uniapp zur Erzielung des Segmentierungseffekts zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Dies dient lediglich dazu, den Effekt der dynamischen Stiländerung mit vue aufzuzeichnen

Zeigen Sie zuerst den Effekt

Vorlage

<Ansichtsklasse="AnzahlZeit">
 <text class="title">Rabatte und Essenszeiten</text>
 <Klasse anzeigen="wrap">
  <view class="box" v-for="(item,index) in discountList" :Schlüssel="index" @click="toggleItem(index)">
   <Ansichtsklasse="selBox" :style="[itemStyle(index)]">
    <Klasse anzeigen="AnzahlBox">
     <text class="Anzahl">{{item.count}}</text>
     <text>Falten</text>
       </Ansicht>
    <text class="Zeit">{{item.time}}</text>
   </Ansicht> 
   <text class="countPrice" :style="[priceStyle(index)]">Nach Abzug des Rabatts beträgt der Durchschnittspreis pro Person ¥100</text>
  </Ansicht>
 </Ansicht>
</Ansicht>

Skriptteil

Der Schlüssel zu diesem Teil ist der Code unter berechnet

Standard exportieren {
  Daten() {
   zurückkehren {
    sieFarbe:diese.Enum.Them.base,
    Rabattliste:[{
     "Anzahl": 6,9,
     "Zeit": "12:00–13:00"
    },{
     "Anzahl": 6,7,
     "Zeit": "14:00–16:00"
    },{
     "Anzahl": 6,5,
     "Zeit": "20:00–22:00"
    }],
    aktuellerIndex:0
   }
  },
  berechnet:{
   Artikelstil () {
    Rückgabeindex => {
     lass Stil = {}
     wenn(index === dieser.aktuellerIndex){
      Stil.Hintergrundfarbe = diese.SieFarbe;
      Stil.border = `1px durchgezogen ${this.themColor}`;
      Stil.Farbe = "#fff";
     }
     //Wenn der zweite ausgewählt ist, werden der erste rechte Rand und der dritte linke Rand auf „keine“ gesetzt.
     wenn(dieser.aktuellerIndex === 1){
      wenn(index === dieser.aktuellerIndex - 1){
       style.borderRight = "keine !wichtig"
      }
      wenn(index === dieser.aktuellerIndex + 1){
       style.borderLeft = "keine !wichtig"
      }
     }
     Rückgabestil
    }
   },
   Preisstil(){
    Rückgabeindex => {
     lass Stil = {}
     wenn(index === dieser.aktuellerIndex){
      Stil.Farbe = diese.SieFarbe
     }
     Rückgabestil
    }
   }
  },
  Methoden: {
   Umschalten des Elements (idx) {
    dieser.aktuellerIndex = idx
   }
  }
 }

CSS-Stile

Auf die hier verwendeten SCSS wird hier nicht näher eingegangen.

.Zeitangabe{
  Anzeige: Flex;
  Flex-Richtung: Spalte;
  .Titel{
   Schriftgröße: $uni-font-size-bl;
   Rand: 20 Rpx 0;
  }
  .wickeln{
   Anzeige: Flex;
   .Kasten{
    @include flex(Spalte,Mitte,Mitte);
    Breite: 33%;
    &:n-tes-Kind(2){
     & > .selBox{
      Rand links: keiner;
      Rand rechts: keiner;
     }
    }
    .selBox{
     @include flex(Spalte,Mitte,Mitte);
     Breite: 100 %;
     Höhe: 150rpx;
     Rand: 1px durchgezogen $uni-border-color;
     .countBox{
      Schriftgröße: $uni-font-size-lg;
      Schriftstärke: fett;
      Rand unten: 10rpx;
      .zählen{
       Schriftgröße: $uni-font-size-bl;
      }
     }
     .Zeit{
      Schriftgröße: $uni-font-size-l;
     }
    }
    .AnzahlPreis{
     Rand oben: 10rpx;
     Schriftgröße: $uni-font-size-l;
    }
   }
  }
 }

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:
  • Analyse des Uniapp-Einsteiger-NVUE-Klettergrubenrekords
  • Basierend auf dem Live-Broadcast-Projekt vue+uniapp imitiert uni-app die Live-Broadcast-Raumfunktion von Douyin/Momo
  • Detaillierte Erklärung des Unterschieds zwischen Uniapp und Vue

<<:  MySql8 WITH RECURSIVE rekursive Abfrage Eltern-Kind-Sammlungsmethode

>>:  So ändern Sie den Inhalt eines vorhandenen Docker-Containers

Artikel empfehlen

Beispiel für eine MySQL-DML-Sprachoperation

Zusätzliche Erklärung, Fremdschlüssel: Verwenden ...

Erklärung des HTML-Codes der Webseite: geordnete Liste und ungeordnete Liste

In diesem Abschnitt lernen wir Listenelemente in ...

CentOS verwendet expect, um Skripte und Befehle remote in Stapeln auszuführen

Manchmal müssen wir Server stapelweise bedienen, ...

Detaillierte Erklärung zur Verwendung des Schlüsselworts ESCAPE in MySQL

MySQL-Escape Escape bedeutet die ursprüngliche Se...

Zusammenfassung der allgemeinen MySQL-Funktionen

Vorwort: Die MySQL-Datenbank bietet eine breite P...

Detaillierte Erklärung der Desktop-Anwendung mit Vue3 und Electron

Inhaltsverzeichnis Vue CLI erstellt ein Vue-Proje...

CentOS 7.2 erstellt einen Nginx-Webserver zum Bereitstellen des Uniapp-Projekts

Panther begann als Anfänger und ich bin immer noc...

Wie verstecke ich einen bestimmten Text in HTML?

Code zum Ausblenden von Text, Ausblenden eines bes...

Beispiel zum Überprüfen der Kapazität einer MySQL-Datenbanktabelle

Dieser Artikel stellt die Befehlsanweisungen zum ...

VMWare Linux MySQL 5.7.13 Installations- und Konfigurationstutorial

In diesem Artikel finden Sie das Tutorial zur Ins...

Detaillierte Erläuterung der Hosts-Dateikonfiguration auf einem Linux-Server

Konfiguration der Hostdatei des Linux-Servers Die...