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

Implementieren Sie ein einfaches Datenantwortsystem

Inhaltsverzeichnis 1. Dep 2. Verstehen Sie den Be...

Führen Sie die Schritte zum Aktivieren der GZIP-Komprimierung in Nginx aus.

Inhaltsverzeichnis Vorwort 1. Konfigurieren Sie d...

Analyse des MySQL-Beispiels DTID Master-Slave-Prinzip

Inhaltsverzeichnis 1. Grundkonzepte von GTID 2. G...

Allgemeine JavaScript-Anweisungen: Schleife, Beurteilung, Zeichenfolge in Zahl

Inhaltsverzeichnis 1. Schalter 2. While-Schleife ...

Webdesign-Tipps: Einfache Regeln für das Seitenlayout

Wiederholung: Wiederholen Sie bestimmte Seitendes...

...

Installieren Sie mehrere PHP-Versionen für Nginx unter Linux

Wenn wir die LNPM-Serverumgebung installieren und...

So installieren Sie suPHP für PHP5 auf CentOS 7 (Peng Ge)

Standardmäßig wird PHP unter CentOS 7 als Apache ...

Über die 4 Zusatzfunktionen von Vuex

Inhaltsverzeichnis 1. Zusatzfunktionen 2. Beispie...

Zusammenfassung zur Verwendung der Bootstrap-Tabelle

In diesem Artikel erfahren Sie, wie Sie die Boots...

Die Frontend-Entwicklung muss jeden Tag lernen, HTML-Tags zu verstehen (1)

2.1 Semantisierung sorgt dafür, dass Ihre Webseit...