Vor Kurzem bereitete sich das Unternehmen auf die Entwicklung einer App vor und entschied sich schließlich für die Verwendung des Uni-App-Frameworks für die Entwicklung. Als ich jedoch die Entwurfszeichnung erhielt, war ich etwas unsicher, da die Oberseite der Entwurfszeichnung folgendermaßen aussah: Da diese Funktion im Applet nicht verfügbar ist, bin ich der Meinung, dass sie nicht implementiert werden kann. Ich habe mir das Dokument jedoch noch einmal angesehen und festgestellt, dass diese Funktion implementiert werden kann. Ich muss nur einige Konfigurationen in pages.json vornehmen. Dies wird offiziell als App-Plus bezeichnet und ermöglicht es Ihnen, den Navigationsbereich anzupassen. Die spezifische Konfiguration ist wie folgt: "Seiten": [ { "Pfad": "Seiten/Index/Index", "Stil": { "navigationBarBackgroundColor": "#00c170", "App-Plus": { "Bounce": "keine", "TitelNAnsicht": { "Schaltflächen": [ { "text": "Karte", "Schriftgröße": "16", "float": "rechts", "Farbe": "#fff" }, { "Text": "Tangshan", "Schriftgröße": "16", "float": "links", "Farbe": "#fff" } ], "Sucheingabe":{ "align": "zentriert", "Platzhalter": "Bitte geben Sie die Informationen zur Suche nach Eigenschaften ein", "borderRadius": "50upx", "Hintergrundfarbe": "#fff" } } } } } ] Die Wirkung ist wie folgt: Sie fragen sich vielleicht, wie ich meine Klick- und Eingabefeldereignisse überwache? uni-app stellt die entsprechenden APIs, onNavigationBarButtonTap und onNavigationBarSearchInputChanged, zur Verfügung, die in die Antwortseite geschrieben werden können: Standard exportieren { onNavigationBarButtonTap() { console.log("Sie haben auf die Schaltfläche geklickt") }, onNavigationBarSearchInputChanged () { console.log("Sie haben Informationen eingegeben") } } Druckergebnisse: Aber es gibt zwei Schaltflächen, aber nur ein Schaltflächenereignis. Was soll ich tun? Wie bekomme ich den Text in das Eingabefeld? Tatsächlich erhalten diese beiden Funktionen einen Wert, der die entsprechenden Informationen darstellt: Standard exportieren { beiNavigationBarButtonTap(Wert) { console.log(Wert) }, onNavigationBarSearchInputChanged (Wert) { console.log(Wert) } } Druckergebnisse: Das Schaltflächenereignis kann anhand des entsprechenden Textes beurteilt werden, und das Eingabefeld hört auf das Eingabeereignis anstelle des Änderungsereignisses, d. h. es kann nach der Eingabe abgehört werden, anstatt den Fokus zu verlieren Glauben Sie, das ist das Ende? Nein, nein, nein, aufmerksame Studenten haben festgestellt, dass das, was ich gemacht habe, vom Entwurf abwich. Auf der rechten Karte befindet sich ein Symbol, das ich nicht geschrieben habe. Wenn Sie der obigen Methode folgen, können Sie es nicht hinzufügen, aber wir können die Anpassung der Navigationsleiste entfernen. Die Navigationsleiste jeder Seite in page.json ist standardmäßig aktiviert. Es gibt ein navigationStyle-Attribut mit dem Standardwert default. Wir können es entfernen, indem wir es in benutzerdefiniert ändern: { "Pfad": "Seiten/Index/Index", "Stil": { "Navigationsstil": "benutzerdefiniert" } Die mobile Navigation ist jedoch immer noch vorhanden. Dazu müssen wir das Attribut titleNView verwenden, mit dem die Navigationsleiste speziell wie folgt festgelegt wird: { "Pfad" : "Seiten/zweiteSeite/zweiteSeite", "Stil" : { "navigationStyle": "benutzerdefiniert", "App-Plus": { "titleNView": falsch } } } Dann können wir selbst einen Navigationssatz schreiben und der endgültige Effekt ist wie folgt: Hier gibt es jedoch eine Falle. Zusätzlich zur Festlegung einer festen Position für diese Navigation ist die Statusleiste oben auf dem Telefon tatsächlich transparent, da wir die Standardnavigation entfernt haben: Daher ist beim Schreiben der Navigation der obere Rand etwas größer als der untere Rand, um sicherzustellen, dass die Statusleiste abgedeckt ist. Hier ist der Quellcode, den ich geschrieben habe: <Vorlage> <Klasse anzeigen="Kopf"> <Ansichtsklasse="header-wrap"> <Klasse anzeigen="index-header"> <text class="Adresse" v-if="leftWords">{{leftWords}}</text> <Ansicht Klasse="Eingabe-Wrap" v-if="Eingabe"> <Eingabetyp="Text" Platzhalter="Bitte geben Sie Ihre Suche ein" v-Modell="Wert" @change="Eingabeänderung"/> <text Klasse = "Iconfont Iconfangdajing"></text> </Ansicht> <Ansichtsklasse="map-wrap" v-if="richtigeWörter||richtigesSymbol" @click="Rechtsklick"> <text Klasse="iconfont" :Klasse="rightIcon"></text> <text>{{richtigeWörter}}</text> </Ansicht> </Ansicht> </Ansicht> <Ansichtsklasse="blank"></Ansicht> </Ansicht> </Vorlage> <Skript> Standard exportieren { Name: "IndexHeader", Requisiten: [ 'linkeWörter', 'Eingang', 'rechtesSymbol', „richtige Worte“ ], Daten () { zurückkehren { Wert: '' } }, Methoden: { Eingabeänderung: Funktion () { dies.$emit('ändern',dieser.Wert) }, Rechtsklick: Funktion () { dies.$emit("Rechtsklick") } } } </Skript> <style lang="scss"> $Farbbasis: #00c16f; $words-color-base: #333333; $words-color-light: #999999; .header-wrap { Breite: 100 %; Position: fest; oben: 0; Z-Index: 999; .index-header { Höhe: 88upx; Zeilenhöhe: 88upx; Polsterung: 0 30upx; Polsterung oben: 40upx; Hintergrundfarbe: $color-base; Schriftgröße: 28upx; Farbe: #fff; Anzeige: Flex; Elemente ausrichten: zentrieren; Inhalt ausrichten: Abstand dazwischen; .Adresse { Schriftgröße: 26upx; } .Eingabe-Wrap { Breite: 500upx; Höhe: 70upx; Polsterung: 10upx 30upx 10upx 100upx; Box-Größe: Rahmenbox; Hintergrundfarbe: #fff; Rahmenradius: 50upx; Farbe: $words-color-base; Position: relativ; text { Position: absolut; links: 40upx; oben: -8upx; Farbe: $words-color-light; Schriftgröße: 30upx; } } .map-wrap { .iconfont { Schriftgröße: 32upx; Rand rechts: 5upx; } text { Schriftgröße: 26upx; } } } } .leer { Höhe: 126upx; } </Stil> Oben finden Sie Einzelheiten zur Verwendung von Uni-App zum Anzeigen von Schaltflächen und Suchfeldern in der oberen Navigationsleiste. Weitere Informationen zur Verwendung von Uni-App zum Anzeigen von Schaltflächen und Suchfeldern in der oberen Navigationsleiste finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Windows 10 1903 Fehler 0xc0000135 Lösung [empfohlen]
>>: Einführung in MyCat, die Datenbank-Middleware
Nachdem der Container gestartet wurde Melden Sie ...
Inhaltsverzeichnis 1. Mehrere .catch 2. Mehrere ....
Mit dem Tag <tfoot> wird der Stil der Tabel...
Wenn wir eine Tabelle verwenden, weisen wir ihr i...
Inhaltsverzeichnis 1. Union-Typ 2. Crossover-Typ ...
Vorwort Dieser Artikel stellt hauptsächlich die r...
Hiermit werden die Grundkenntnisse des Interviewt...
In der täglichen Entwicklung streiten sich Front-...
Inhaltsverzeichnis Vorwort Mischen Mixin-Hinweis ...
Der erste Artikel zum Thema Datensicherung und -w...
Eine kurze Erläuterung des Navigationsfensters in...
Inhaltsverzeichnis 1. Abfrageoptimierung 1. MySQL...
In diesem Artikel wird der spezifische Code für J...
Speichern Sie den folgenden Code als Standard-Home...
1. Was ist Docker Secret 1. Szenariodarstellung W...