In diesem Artikelbeispiel wird der spezifische Code zum Einkapseln der benutzerdefinierten TabBar-Komponente des Miniprogramms zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt 1. Erstellen Sie eine neue Komponente: Erstellen Sie eine TabBar unter der Komponente 2. Die index.wxml-Struktur der Komponente ist wie folgt: <cover-view Klasse="Tab-Leiste"> <cover-view Klasse="tab-bar-border"></cover-view> <cover-view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="tabChange"> <cover-image src="{{tabbarIndex === index ? item.selectedIconPath : item.iconPath}}"></cover-image> <cover-view style="Farbe: {{tabbarIndex === index ? selectedColor : color}}">{{item.text}}</cover-view> </Cover-Ansicht> </Cover-Ansicht> 3. Die index.wxss-Struktur der Komponente ist wie folgt: .tab-bar { Position: fest; unten: 0; links: 0; rechts: 0; Höhe: 60px; Hintergrund: weiß; Anzeige: Flex; Polsterung unten: Umgebung (Sicherheitsbereich, Einschub unten); } .tab-bar-border { Hintergrundfarbe: rgba(0, 0, 0, 0,33); Position: absolut; links: 0; oben: 0; Breite: 100 %; Höhe: 1px; transformieren: scaleY(0,5); } .tab-bar-item { biegen: 1; Textausrichtung: zentriert; Anzeige: Flex; Inhalt ausrichten: zentriert; Elemente ausrichten: zentrieren; Flex-Richtung: Spalte; } .tab-bar-item cover-image { Breite: 28px; Höhe: 28px; Rand unten: 2px; } .tab-bar-item cover-view { Schriftgröße: 10px; } 4. Die index.js-Struktur der Komponente ist wie folgt: // Seiten/Komponenten/TabBar/index.js Komponente({ /** 1. Liste der Komponenteneigenschaften*/ Optionen: multipleSlots: true // Aktivieren Sie die Unterstützung für mehrere Slots in den Optionen, wenn Sie die Komponente definieren}, Eigenschaften: Liste: { Typ: Array, Wert: [] }, ausgewählteFarbe:{ Typ: Zeichenfolge, Wert:'' }, Farbe:{ Typ: Zeichenfolge, Wert:'' }, }, /** 2. Ausgangsdaten des Bauteils*/ Daten: { tabbarIndex: 0 //Standardmäßig wird das erste Tab-Element angezeigt}, Lebensdauern: beigefügt() {} }, /** 3. Komponentenmethodenliste*/ Methoden: { //Komponenten-Klickereignis tabChange(e) { //Index des unteren Balkenelements abrufen let index = e.currentTarget.dataset.index; dies.setData({ tabbarIndex:index, }) //triggerEvent ruft das Ereignis der Komponente ab //onMyEvent Der von der Seite übergebene Name des Klickereignisses this.triggerEvent('onMyEvent',{ tabbarIndex:index, }) }, } }) 5. Die index.json-Struktur der Komponente ist wie folgt: { "Komponente": wahr, "usingComponents": {} } 6. Verwendung von Komponenten in Seiten { "navigationBarTitleText": "Test", "Komponenten verwenden": { "mp-tabbar": "../Komponenten/tabBar/index" } } 8. Der WXML-Code der Seite lautet wie folgt: //Der Inhalt, der auf der Seite angezeigt wird, wenn Tab1 ausgewählt ist <view wx:if="{{tabbarIndex == 0}}">111111</view> //Der Inhalt, der auf der Seite angezeigt wird, wenn Tab2 ausgewählt ist <view wx:if="{{tabbarIndex == 1}}">222222</view> //Der Inhalt, der auf der Seite angezeigt wird, wenn Tab3 ausgewählt ist <view wx:if="{{tabbarIndex == 2}}">333333</view> <mp-tabbar list="{{list}}" id='tabComponent' bind:onMyEvent="tabChange"></mp-tabbar> 9. Der JS-Code der Seite lautet wie folgt: Seite({ Daten: { tabbarIndex:0, //Standardfarbe des ersten Tab-Elements: "#555555", ausgewählteFarbe: "#2ea7e0", //Liste der unteren Leiste: [{ "text": "Markt", "iconPath": "/images/bazaar.png", "selectedIconPath": "/images/bazaar_selected.png", }, { "text": "Aufladen", "iconPath": "/images/recharge.png", "selectedIconPath": "/images/recharge_selected.png", }, { "text": "Flotte", "iconPath": "/images/market.png", "selectedIconPath": "/images/market_selected.png", } ] }, /** * Lebenszyklusfunktion - Seitenanzeige überwachen*/ onShow: Funktion () { diese.tabComponent = diese.selectComponent('#tabComponent'); Lassen Sie selectedColor = this.data.selectedColor; lass Farbe = diese.Daten.Farbe; diese.tabComponent.setData({ ausgewählteFarbe: ausgewählteFarbe, Farbe: Farbe }) Konsole.log(diese.Tab-Komponente.Daten.TabbarIndex) }, //Die von der Komponente übergebenen Daten abrufen tabChange:function(e){ let index = e.detail.tabbarIndex; dies.setData({ tabbarIndex:index }) console.log(e.detail.tabbarIndex) } }) Der endgültige Effekt ist in der Abbildung dargestellt: 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:
|
<<: Lösen Sie das Problem, dass Docker Sudo-Operationen verwenden muss
>>: Techniken zur Wiederverwendung von HTML
Das Installations-Tutorial für die dekomprimierte...
Sie können den folgenden Befehl verwenden: Docker...
Wie kann ich nach dem Bearbeiten einer Datei in L...
Würmer replizieren sich, wie der Name schon sagt,...
Was sind :is und :where? :is() und :where() sind ...
HTML 4 HTML (nicht XHTML), MIME-Typ ist text/html...
Ich habe mich kürzlich auch mit der Leistungsopti...
Code Erklärung 1.1 http:www.baidu.test.com verwen...
Es gab bereits einen Artikel über den Ausführungs...
Als ich vor einiger Zeit an einer kleinen Funktio...
Inhaltsverzeichnis 1. Einführung in integrierte O...
Inhaltsverzeichnis Primärschlüsselindex Erstellen...
Es ist ganz einfach, gehen Sie einfach zum Tutori...
Wie oben gezeigt, sind Füllwerte zusammengesetzte...
Inhaltsverzeichnis 1. Einführung in SQL-Injection...