Benutzerdefinierte Komponente der unteren Navigationsleiste des WeChat-Applets

Benutzerdefinierte Komponente der unteren Navigationsleiste des WeChat-Applets

In diesem Artikelbeispiel wird der spezifische Implementierungscode der unteren Navigationsleistenkomponente des WeChat-Applets zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Erstellen Sie eine neue tabbar.vue (definierte benutzerdefinierte Navigationsleistenkomponente) unter dem Dateipreis der öffentlichen Komponente Ihres eigenen Projekts

<Vorlage>
  <view v-if="showTabbar" class="tabbar">
    <Ansicht
      v-for="(Element, Index) in TabList"
      :Schlüssel="Index"
      Klasse="Symbol"
      @click="TabBar wechseln(Element.Pfad, Index)"
    >
      <image :src="index == aktuell ? item.iconActivePath : item.iconPath"></image>
      <text :class="index == aktuell ? 'active_text' : 'text'" bindtap = 'go'>{{ item.name }}</text>
    </Ansicht>
  </Ansicht>
</Vorlage>
 
<Skript>
  // Container aus '@/channelMessage/get-container' importieren
 
  Standard exportieren {
    Requisiten: {
      Tabbar anzeigen: {
        Typ: Boolean,
        Standard: true,
      },
      current:{ // aktueller Seitenindex
    Typ: Nummer,
    Standard: 0
   },
    },
    Daten() {
      zurückkehren {
        ausgewählter Index: 0,
        RegisterkarteListe: [
          {
            Name: "Home",
            Symbolpfad: erforderlich("../../../static/image/img/tab-home-nor.png"),
            iconActivePath: erfordern("../../../static/image/img/tab-home-sel.png"),
          Pfad: "/pages/index/index",
          },
          {
            Name: "Warenkorb",
            Symbolpfad: erforderlich("../../../static/image/img/tab-cart-nor.png"),
            iconActivePath: erfordern("../../../static/image/img/tab-cart-sel.png"),
            Pfad: "/pages/cart/cartEdit",
          },
          {
            Name: "Mein",
            Symbolpfad: erforderlich("../../../static/image/img/tab-my-nor.png"),
            iconActivePath: erfordern("../../../static/image/img/tab-my-sel.png"),
            Pfad: "/pages/mine/mine",
          },
        ],
    }
    },
 
    beiAnzeigen() {
      // const containerId = container.getContainerId()
      // wenn (Container-ID == '1000') {
      // diese.showTabbar = false
      // }
    },
    Methoden: {
    switchTabBar(Pfad, Index) {
      this.item_index = Index
      wx.switchTab({
          URL: Pfad,
      })
        // this.$router.replace(Pfad)
      },
    
    },
}
</Skript>
 
<style lang="scss" scoped>
  .tabbar {
    Position: fest;
    unten: 0;
    Z-Index: 10;
    Anzeige: Flex;
    Elemente ausrichten: zentrieren;
    Inhalt ausrichten: Abstand herum;
    Breite: 100 %;
    Höhe: 100rpx;
    Hintergrundfarbe: #ffffff;
    Polsterung unten: Konstante (Safe-Area-Inset-Bottom);
    Polsterung unten: Umgebung (Sicherheitsbereich, Einschub unten);
 
    .Symbol {
      Anzeige: Flex;
      Flex-Richtung: Spalte;
      Elemente ausrichten: zentrieren;
 
      Bild {
        Breite: 50rpx;
        Höhe: 50rpx;
      }
  }
  .aktiver_text{
        Schriftgröße: 20rpx;
        Rand oben: 5rpx;
    Farbe: #d81e06;
      }
  .Text{
    Schriftgröße: 20rpx;
    Rand oben: 5rpx;
    }
  }
</Stil>

2. Fügen Sie der Datei pages.json im Projekt Code hinzu, um sicherzustellen, dass wx.switchTab in tabbar.vue normal verwendet werden kann. Der Code lautet wie folgt:

"TabBar": {
    "ausgewählteFarbe": "#EE2F51",
    "Liste": [{
      "pagePath": "Seiten/Index/Index",
      "text": "Startseite",
      "iconPath": "statisch/Bild/Img/tab-home-nor.png",
      "selectedIconPath": "statisch/Bild/Img/tab-home-sel.png"
    },{
      "pagePath": "Seiten/Warenkorb/WarenkorbBearbeiten",
      "text": "Warenkorb",
      "iconPath": "statisch/Bild/Img/tab-cart-nor.png",
      "selectedIconPath": "statisch/Bild/Img/tab-cart-sel.png"
    },{
      "pagePath": "Seiten/meine/meine",
      "text": "Mein",
      "iconPath": "statisch/Bild/img/tab-my-nor.png",
      "selectedIconPath": "statisch/Bild/img/tab-my-sel.png"
    }]
  },

3. Registrieren Sie benutzerdefinierte Komponenten global in main.js

importiere tabBar aus "./customComponents/commonComponents/tabBar/index.vue";

//Ändern Sie die Position Ihrer Komponente. Das index.vue hier ist das zuvor erwähnte tabbar.vue
Vue.component("tabBar", tabBar);

4. Führen Sie die registrierte Komponente auf der Seite ein, auf der die Navigationsleiste benötigt wird

//Fügen Sie der Seite die Navigationsleistenkomponente hinzu <tabBar :current=item_index></tabBar>
 
//Status markieren, ja die Navigationsleiste kann je nach Seite data() { unterschiedliche Aktivierungsstatus anzeigen.
      zurückkehren {
        Artikelindex: 0,
      }
}
 
//WeChats integrierte Navigationsleiste ausblenden onLoad() {
      wx.hideTabBar();
},

5. Anzeigeeffekt

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:
  • WeChat Mini-Programm-Tutorial-Reihe: Einrichten der Titelleiste und der Navigationsleiste (7)
  • Beispielcode für die obere Navigationsleiste der WeChat-Applet-Entwicklung
  • Detaillierte Erklärung zum Einstellen der unteren Navigationsspalte des WeChat-Applets
  • WeChat-Applet: benutzerdefinierte Kopfzeilen-Navigationsleiste und Hintergrundbild der Navigationsleiste, NavigationStyle-Problem
  • Implementierungscode der oberen Navigationsleiste im WeChat-Applet
  • Detaillierte Erläuterung der Schaltfläche „Zurück“ des WeChat-Applets in der Kapsel | Funktion der benutzerdefinierten Navigationsleiste auf der Startseite
  • Schieberegisterkarteneffekt in der oberen Navigationsleiste des WeChat-Applet
  • WeChat-Applet: benutzerdefinierte Navigationsleiste. Die obere Navigationsleiste passt sich allen Modellen an (mit vollständiger Hülle).
  • Das WeChat-Applet implementiert eine nach links verschiebbare Navigationsleiste
  • Das WeChat-Applet realisiert den Effekt der Navigationsleistenregisterkarte

<<:  Tutorial zur HTML-Tabellenauszeichnung (37): Hintergrundbild-Attribut BACKGROUND

>>:  Detaillierte Analyse der MySQL-Abfrageabfangung

Artikel empfehlen

JavaScript implementiert coole Mouse-Tailing-Effekte

Nachdem Sie sich das angesehen haben, garantiere ...

So passen Sie CSS an den Vollbildmodus des iPhone an

1. Medienabfragemethode /*iPhone X-Anpassung*/ @m...

Umfassende Zusammenfassung zu MySQL GTID

Inhaltsverzeichnis 01 Einführung in GTID 02 Wie G...

Navicat-Verbindung MySQL Fehlerbeschreibungsanalyse

Inhaltsverzeichnis Umfeld Version der virtuellen ...

VMware Workstation 14 Pro installiert CentOS 7.0

Die spezifische Methode zur Installation von Cent...

Gründe, warum MySQL-Abfragen langsam sind

Inhaltsverzeichnis 1. Wo ist die Langsamkeit? 2. ...

Zwei Möglichkeiten zum Verwalten von Volumes in Docker

Im vorherigen Artikel habe ich die Grundkenntniss...