Die Website muss auf der mobilen Seite angepasst werden. Für mobile H5- und Webseiten werden Flex-Layout-Lösungen wie Bluma verwendet.
Die in H5 verwendete Liste verwendet React-Virtualized, um die Tabelle zu zeichnen
Um die spezifischen Details einer einzelnen Datenzeile in der Tabelle anzuzeigen, besteht die übliche Lösung darin, eine neue Seite oder ein Popup-Fenster zu verwenden.
Hier wird die Popup-Fensterlösung verwendet. Die Datendetails nach dem Klicken auf eine einzelne Datenzeile verwenden die Modalkarte von Bluma.
Spezifische Details und Beispiele finden Sie unter: https://bulma.io/documentation/components/modal/
Problemdetails:Nachdem Sie auf eine einzelne Datenzeile geklickt haben, werden in einem Popup-Fenster detaillierte Daten angezeigt und die gesamte Modalkarte wird auf position:fixed;
Es gibt keinen Fußzeilenteil. Stellen Sie die Höhe der Modalkarte auf die Höhe des gesamten Bildschirms ein: 100 VH
Leistung:
Lösung:
Eigene Lösung von modal-card:JS + CSS-Überlauf: versteckt
Fügen Sie über JS dynamisch CSS-Klassen zum Seiten-HTML unter dem Popup-Fenster hinzu
if ($modalButtons.length > 0) { $modalButtons.forEach(function ($el) { $el.addEventListener('click', function () { var target = $el.dataset.target; openModal(target); } ); });}function openModal(target) { var $target = document.getElementById(target); rootEl.classList.add('is-clipped'); $target.classList.add('is-active');}Verwenden Sie overflow:hidden, um das Scrollen der Seite zu deaktivieren
is-clipped { overflow:hidden!important}
Wenn das Popup-Fenster geschlossen wird, löschen Sie die CSS-Klasse der Seite über JS: is-clipped
function closeModals() { rootEl.classList.remove('is-clipped'); $modals.forEach(function ($el) { $el.classList.remove('is-active'); });}
Nach dem Testen dieser Lösung in der Anwendung wurde jedoch festgestellt, dass das Problem dadurch nicht gelöst wurde und die oben genannten Probleme weiterhin auftraten.
Position: feste LösungJS + CSS-Position: fest + scrollTop
Planideen:
Vor dem Popup-Fenster:
const scrollTop = global.document.documentElement.scrollTop ||. global.pageYOffset ||. global.document.body.scrollTop;global.document.documentElement.style.position = 'fixed';this.scrollTop = scrollTop;
Schließen Sie das Popup-Fenster:
closeModalHandler = () => { const { closeOrderHistoryModal } = this.props; global.document.documentElement.style.position = ''; global.pageYOffset = this.scrollTop; global .document.body.scrollTop = this.scrollTop; closeOrderHistoryModal();}
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.