Das Uniapp-Applet wird ein ähnliches Dropdown-Problem in WeChat haben Die Lösung besteht darin, in der onLaunch-Methode der app.vue-Seite eine Methode hinzuzufügen, die das Herunterrutschen verhindert dies.$nextTick(() => { document.body.addEventListener("touchmove", this.addBodyTouchEvent, { passiv: falsch }); }); Nach der Lösung des Problems ist es nicht mehr möglich, die Editor-Komponente von uniApp einzufügen. Problemumgehung Fügen Sie diese beiden Werte in Daten hinzu Fügen Sie Touchstart- und Touchend-Methoden hinzu, um Gleiteffekte manuell zu schreiben touchstart(e) { this.previewScrollTop = e.touches[0].pageY; }, touchend(e) { let Abstand = e.changedTouches[0].pageY - this.previewScrollTop; wenn (Math.abs(Abstand) <= 10) { gibt false zurück; } //Nicht scrollen, wenn die Distanz zu kurz ist let dom = this.$refs.editor.$el.getElementsByClassName("ql-editor")[0], maxHeight = Math.max(0, dom.scrollHeight - dom.clientHeight), //Maximaler Höhenbereich tempData = this.scrollTop + (distance >= 0 ? -60 : 60); //Berechnen Sie die erforderlichen Höhendaten if (tempData >= maxHeight) { this.scrollTop = maximale Höhe; dom.scrollTop = dieses.scrollTop; } sonst wenn (tempData <= 0) { dies.scrollTop = 0; dom.scrollTop = dieses.scrollTop; } anders { this.scrollTop = tempData; dom.scrollTop = dieses.scrollTop; } } Zu diesem Zeitpunkt tritt der Gleiteffekt auf. Das Gleiten ist jedoch nicht reibungslos. Ich wollte einen animierten Übergangseffekt schreiben. Aber. Dieses Verschieben erfolgt mithilfe der Eigenschaft dom.scrollTop. Diese Eigenschaft gehört nicht zur CSS-Eigenschaft und kann keine CSS-Übergangsanimation verwenden Also habe ich eine JS-Methode geschrieben. /** * Animation scrollt vertikal zur angegebenen Position auf der Seite* @param { } DOM-Element-Objekt* @param { Number } currentY aktuelle Position* @param { Number } targetY Zielposition*/ Exportfunktion scrollAnimation(dom, aktuellesY, ZielY) { // Berechnen Sie die zu verschiebende Distanz. let needScrollTop = targetY - currentY; sei _currentY = currentY; setzeTimeout(() => { // Die Anzahl der gleitenden Frames pro Aufruf ist jedes Mal unterschiedlich const dist = Math.ceil(needScrollTop / 10); _currentY += abst; dom.scrollTo(_currentY, currentY); // Wenn die Bewegung weniger als zehn Pixel beträgt, direkt bewegen, andernfalls rekursiv aufrufen, um einen Animationseffekt zu erzielen if (needScrollTop > 10 || needScrollTop < -10) { scrollAnimation(dom, _currentY, targetY); } anders { dom.scrollTo(_currentY, targetY); } }, 1); } Abrufen touchend(e) { let Abstand = e.changedTouches[0].pageY - this.previewScrollTop; wenn (Math.abs(Abstand) <= 10) { gibt false zurück; } //Nicht scrollen, wenn die Distanz zu kurz ist let dom = this.$refs.editor.$el.getElementsByClassName("ql-editor")[0], maxHeight = Math.max(0, dom.scrollHeight - dom.clientHeight), //Maximaler Höhenbereich tempData = this.scrollTop + (distance >= 0 ? -60 : 60); //Berechnen Sie die erforderlichen Höhendaten if (tempData >= maxHeight) { this.scrollTop = maximale Höhe; dom.scrollTop = dieses.scrollTop; } sonst wenn (tempData <= 0) { dies.scrollTop = 0; dom.scrollTop = dieses.scrollTop; } anders { this.scrollTop = tempData; scrollAnimation(dom, 0, dies.scrollTop); } } Notiz: Diese Frage sollte ursprünglich unter Verwendung der Eigenschaft „Transform: translateY( y )“ geschrieben werden, und tatsächlich wurde dies getan. Aber nachdem ich es getan hatte, fand ich let dom = this.$refs.editor.$el.getElementsByClassName("ql-editor")[0]; Das ausgewählte Element ist hier das Element unterhalb des roten Kästchens. Beim Offset wird das gesamte Element versetzt. Das Dokument wird nicht vollständig angezeigt, aber darunter befindet sich ein großer leerer Bereich. Ich habe damals keine Screenshots gemacht. Notieren Sie die Fallstricke, auf die Sie stoßen. Dies ist das Ende dieses Artikels über das WeChat-Gleitproblem des UniApp-Editors. Weitere verwandte Inhalte zum WeChat-Gleitproblem des UniApp-Editors finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Informationen zur Verwendung und Vorsichtsmaßnahmen von Promises in Javascript (empfohlen)
>>: Vue-Element el-transfer fügt Drag-Funktion hinzu
Inhaltsverzeichnis Grundlegende Anwendung eingebe...
In diesem Artikelbeispiel wird der spezifische Co...
Wenn Sie an einem gemeinsam genutzten System arbe...
Wenn Sie MySQL zum Abfragen der Datenbank verwend...
Wenn wir CSS-Webseitenlayouts erstellen, wissen wi...
Inhaltsverzeichnis 1. Ergebnisse erzielen 2. Back...
JDK-Downloadadresse: http://www.oracle.com/techne...
Inhaltsverzeichnis Vorwort Was ist DrawCall Welch...
In den meisten Fällen unterstützt MySQL Chinesisc...
NERDTree ist ein Dateisystembrowser für Vim. Mit ...
CentOS 8 ist schon seit längerem auf dem Markt. A...
Inhaltsverzeichnis 1. Einleitung 2. Umschalten 1....
Inhaltsverzeichnis Vorwort Zusammenfassung der Au...
Die Rahmen- und Regelattribute des Tabellentags k...
Was ist eine gespeicherte Prozedur? Einfach ausge...