Benutzerdefinierte Tabbar-Komponente für das WeChat-Applet

Benutzerdefinierte Tabbar-Komponente für das WeChat-Applet

In diesem Artikel wird der spezifische Code der benutzerdefinierten Tabbar-Komponente des WeChat-Applets zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Aufgrund der Projektanforderungen müssen Sie Ihre eigenen Komponenten schreiben:

Schritt 1: Konfigurieren Sie die TabBar in App.json. Benutzerdefinierte Komponenten müssen ebenfalls konfiguriert werden, „custom“: true, konfigurieren Sie alle TabBar-Seiten in der Liste.

 "TabBar": {
 "benutzerdefiniert": wahr,
 "Farbe": "rot",
 "ausgewählteFarbe": "#3b81d7",
 "Hintergrundfarbe": "#000000",
 "Liste": [{
 "pagePath": "Seiten/Rolle/InsureIndex/index",
 "Text": "Startseite"
 }, {
 "pagePath": "Seiten/Rolle/MineIndex/index",
 "Text": "Startseite"
 }, {
 "pagePath": "Seiten/Index/Benutzerinfo/Benutzerinfo",
 "Text": "Mein"
 }]
 },

Schritt 2: Erstellen Sie eine neue Komponente im selben Verzeichnis wie die Seiten, Ordnername: Custom-Tab-Bar, Dateiname der benutzerdefinierten Komponente: Index. Der Komponentencode ist wie folgt, Sie sollten in der Lage sein, ihn zu verstehen.

index.js

Komponente({
 Eigenschaften: {},
 
 Daten: {
 indexImg: "../static/images/tabBar/[email protected]",
 indexSelectImg: "../static/images/tabBar/[email protected]",
 aboutUsImg: "../static/images/tabBar/[email protected]",
 aboutUsSelectImg: "../static/images/tabBar/[email protected]",
 _tabbat: null,
 iPhoneX: falsch,
 URLs: ['/Seiten/Rolle/InsureIndex/index',
 „/Seiten/Index/Benutzerinfo/Benutzerinfo“
 ]
 },
 beigefügt() {
 var selbst = dies
//Dies ist Geschäftscode, Sie müssen sich wx.getStorage({ nicht ansehen.
 Schlüssel: 'Benutzerinfo',
 Erfolg: Funktion (res) {
 Konstante {
  Benutzerrollencode
 } = res.daten
 wenn (Benutzerrollencode == '50' || Benutzerrollencode == '70') {
  selbst. setData({
  ["urls[0]"]: '/Seiten/Rolle/MineIndex/index'
  })
 } sonst wenn (userRoleCode == '30' || userRoleCode == '35' || userRoleCode == '40') {
  selbst. setData({
  ["urls[0]"]: '/Seiten/Rolle/InsureIndex/index'
  })
 }
 }
 })
 wx.getSystemInfo({
 Erfolg(res) {
 Konsole.log(res.model)
 wenn (res.model.indexOf('iPhone X') >= 0) {
  selbst. setData({
  iPhoneX: stimmt
  })
 }
 }
 })
 },
 /**
 * Liste der Komponentenmethoden */
 Methoden: {
 switchTap: Funktion (e) {
 var selbst = dies
 var index = e.currentTarget.dataset.index;
 var urls = self.data.urls
 wx.switchTab({
 URL: URLs[Index],
 })
 }
 }
})

index.wxml

<div class="_tabbar {{iPhoneX?'_iPhoneX':''}}">
 <div class="titem {{_tabbat==0?'tCdk':''}}" data-index="0" bind:tap="switchTap">
 <image src="{{_tabbat==0?indexSelectImg:indexImg}}" />
 <b>Startseite</b>
 </div>
 <div class="titem {{_tabbat==1?'tCdk':''}}" data-index="1" bind:tap="switchTap">
 <image src="{{_tabbat==1?aboutUsSelectImg:aboutUsImg}}" />
 <b>Mein</b>
 </div>
</div>

index.wxss

._tabbar {
 Breite: 100 %;
 Höhe: 120rpx;
 Anzeige: Flex;
 Elemente ausrichten: zentrieren;
 Hintergrund: #fff;
 Schriftgröße: 26rpx;
 Farbe: #999999;
 Kastenschatten: 0px -7rpx 13rpx 0px rgba (193, 185, 204, 0,13);
}
 
._tabbar .titem {
 Textausrichtung: zentriert;
 Breite: 50%;
}
 
._tabbar .titem Bild {
 Anzeige: Block;
 Rand: automatisch;
 Breite: 48rpx;
 Höhe: 48rpx;
 Rand unten: 10rpx;
}
 
._tabbar .tCdk {
 Farbe: #37ADFE;
}
 
._iPhoneX {
 Höhe: 148rpx;
}

index.json

{
 "Komponente": wahr,
 "usingComponents": {}
}

Oben ist der Komponentencode. Wenn Sie auf die Registerkartenleiste klicken, um zur Seite zu springen, wird die Registerkartenleistenkomponente neu geladen, sodass der ausgewählte Stil immer der Standard ist. Daher müssen Sie in der JS-Datei der Seite, die die Registerkartenleiste verwendet, Folgendes tun: (Nehmen Sie als Beispiel die Seite „Home“)

onShow: Funktion () {
 dies.getTabBar().setData({
 _tabbat: 0
 })
 },

Das Obige ist vollständig, aber ich habe online gesehen, dass zwei TabBars angezeigt werden. Ich sehe sie hier nicht (eine benutzerdefinierte, eine integrierte). Wenn sie angezeigt werden, fügen Sie wx.hideTabBar() zur onLaunch-Funktion in app.js hinzu, um die integrierte TabBar auszublenden.

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:
  • Offizielles Beispiel einer dynamischen benutzerdefinierten unteren TabBar des WeChat Mini-Programms
  • Detaillierte Erläuterung der benutzerdefinierten TabBar-Anpassung des WeChat-Applets in der Uni-App
  • Detaillierte Erläuterung der Entwicklung der benutzerdefinierten TabBar-Komponente des WeChat-Applets
  • So passen Sie die Farbe des oberen Rahmens der Registerkartenleiste des WeChat-Applets an
  • Implementierung einer benutzerdefinierten TabBar in der WeChat-Applet-Entwicklung
  • Beispiel für eine benutzerdefinierte verschiebbare obere TabBar-Registerkarte des WeChat-Applets zum Erreichen einer Seitenwechselfunktion
  • WeChat-Applet: benutzerdefinierter TabBar-Schrittübungsbericht
  • WeChat-Applet benutzerdefinierte Tableiste benutzerdefinierte Tableiste 6s kommt nicht als Lösung heraus (Cover-Ansicht ist nicht kompatibel)
  • Codebeispiel für die benutzerdefinierte Menü-Umschaltleiste und Tableistenkomponente des WeChat-Applets
  • WeChat-Applet: benutzerdefinierter TabBar-Schrittdatensatz

<<:  So erstellen Sie ein neues Image basierend auf einem vorhandenen Image in Docker

>>:  Tutorial zur Installation und Konfiguration von MySQL für Mac

Artikel empfehlen

CSS verwendet radialen Farbverlauf zur Implementierung von Coupon-Stilen

In diesem Artikel erfahren Sie, wie Sie mithilfe ...

Natives JS zum Implementieren der Seitenleiste zum Teilen

Dieser Artikel zeigt eine mit nativem JS implemen...

Ein kurzer Vortrag über die Variablenförderung in JavaScript

Inhaltsverzeichnis Vorwort 1. Welche Variablen we...

CSS3-Übergang zur Implementierung eines Benachrichtigungsnachrichtenkarussells

Vue-Version, kopiere sie in die Datei und verwend...

Detaillierte Erläuterung des MySQL InnoDB-Sekundärindex-Sortierbeispiels

Sortierproblem Ich habe kürzlich auf Geek Time „4...

So implementieren Sie das N-Grid-Layout in CSS

Häufige Anwendungsszenarien Die Schnittstellen ak...

Ausführliche Erklärung des Binlogs in MySQL 8.0

1 Einleitung Das Binärprotokoll zeichnet SQL-Anwe...

JS realisiert den Scroll-Effekt von Online-Ankündigungen

In diesem Artikel wird der spezifische JS-Code zu...

So installieren Sie MySQL 8.0 und melden sich bei MySQL unter MacOS an

Folgen Sie dem offiziellen Tutorial, laden Sie da...

Details zu Makrotasks und Mikrotasks in JavaScript

Inhaltsverzeichnis 1. Was sind Mikroaufgaben? 2. ...

Installation, Aktivierung und Konfiguration von ModSecurity unter Apache

ModSecurity ist ein leistungsstarkes Paketfiltert...

Verwenden Sie Docker, um den Kong-Clusterbetrieb aufzubauen

Es ist sehr einfach, einen Kong-Cluster unter dem...

Zusammenfassung einiger gängiger Konfigurationen und Techniken von Nginx

Vorwort Dieser Artikel listet mehrere gängige, pr...

So verwenden Sie Axios-Anfragen im Vue-Projekt

Inhaltsverzeichnis 1. Installation 2. Es gibt kei...