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