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

Einführung in die Verwendung von MySQL-Quellbefehlen

Inhaltsverzeichnis Gedanken, die durch eine Onlin...

Ein Beispiel, wie JavaScript doppelte Netzwerkanforderungen verhindern kann

Vorwort Während der Entwicklung stoßen wir häufig...

Zusammenfassung und Praxis des Javascript-Prototyp-Kettendiagramms

Inhaltsverzeichnis Prototypenkette Wir können ein...

HTML+CSS zum Erzielen von Spezialeffekten durch Textfaltung – Beispiel

In diesem Artikel werden hauptsächlich Beispiele ...

Vue implementiert die richtige Slide-Out-Layer-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Linux Cron geplante Ausführung von PHP-Code mit Parametern

1. Verwenden Sie zur Ausführung weiterhin ein PHP...

MySQL-unabhängiger Index und gemeinsame Indexauswahl

Häufig fehlt das Verständnis für mehrspaltige Ind...