РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwSpNvSc 56 of 102 menu
◀ ▶

Прокрутка без сдвига в Livewire

Давайте разберём такой случай. Слева длинное меню постов, человек докрутил его вниз и выбрал пункт ближе к концу списка. После перехода на другую страницу меню снова оказывается сверху, и приходится искать то же место заново.

Блок оборачивают в @persist с именем, а на контейнер меню вешают wire:navigate:scroll: Livewire запоминает прокрутку этого элемента между навигационными переходами. Ссылки внутри по-прежнему ведут себя как навигационные.

Страницы откроются по адресам /posts и /posts/create. Давайте на списке выведем меню в сохраняемом блоке:

<x-layout> @persist('menu') <div wire:navigate:scroll> <a href="/posts" wire:navigate>All</a> <a href="/posts/create" wire:navigate>Create</a> <a href="/posts" wire:navigate>Item 1</a> <a href="/posts" wire:navigate>Item 2</a> <a href="/posts" wire:navigate>Item 3</a> <a href="/posts" wire:navigate>Item 4</a> <a href="/posts" wire:navigate>Item 5</a> <a href="/posts" wire:navigate>Item 6</a> <a href="/posts" wire:navigate>Item 7</a> <a href="/posts" wire:navigate>Item 8</a> </div> @endpersist <h1>Posts</h1> </x-layout>

Давайте на второй странице повторим то же меню:

<x-layout> @persist('menu') <div wire:navigate:scroll> <a href="/posts" wire:navigate>All</a> <a href="/posts/create" wire:navigate>Create</a> <a href="/posts" wire:navigate>Item 1</a> <a href="/posts" wire:navigate>Item 2</a> <a href="/posts" wire:navigate>Item 3</a> <a href="/posts" wire:navigate>Item 4</a> <a href="/posts" wire:navigate>Item 5</a> <a href="/posts" wire:navigate>Item 6</a> <a href="/posts" wire:navigate>Item 7</a> <a href="/posts" wire:navigate>Item 8</a> </div> @endpersist <h1>Create post</h1> </x-layout>

Сделайте две страницы работников с общим длинным меню. При переходе между ними меню не прыгает наверх.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить