Préserver le défilement lors de la navigation dans les pages est toujours une fonctionnalité indésirable.
P粉166675898
P粉166675898 2024-01-02 16:00:21
0
2
561

J'ai une configuration standard laravel+inertia+vue3 utilisant breeze et comme le dit la documentation d'Inertia, la navigation entre les pages doit imiter le comportement par défaut du navigateur, en réinitialisant le défilement vers le haut lorsque la page se charge. Mais dans mon cas, ce n'est pas comme ça que ça marche.

Je n'ai pas preserveScroll: true dans mon lien mais cela arrive quand même.

J'ai essayé d'utiliser le hook vuejs onMounted() pour faire défiler vers le haut lors du chargement du composant, mais la page défile immédiatement du haut de la page précédente jusqu'à la dernière position de défilement. J'ai donc désactivé ce hook car l'effet de scintillement était moche.

Une idée sur la façon de résoudre ce problème ? Merci d'avance.

P粉166675898
P粉166675898

répondre à tous(2)
P粉677684876

Je pense qu'il faut définir des régions de défilement : https://inertiajs.com/scroll-management#scroll-regions

Votre application ne semble pas utiliser le défilement du corps du document.

P粉426906369

Mon fichier CSS a une balise d'attribut overscroll-behavior: contains; 应用于 body. Depuis que je l'ai supprimé, tout fonctionne bien maintenant.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal