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

Сохранение прокрутки в Livewire

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

Модификатор .preserve-scroll просит Livewire сохранить положение прокрутки после запроса. Счётчик или список обновляются, а окно остаётся на том же месте.

Страница откроется по адресу /posts/long. Давайте опишем компонент PostLong:

<?php namespace App\Livewire; use Livewire\Component; class PostLong extends Component { public $count = 0; public function add() { $this->count++; } public function render() { return view('livewire.post-long'); } } ?>

Давайте выведем длинный текст, кнопку внизу с сохранением прокрутки и счётчик:

<div> <p>Line</p> <p>Line</p> <p>Line</p> <p>Line</p> <p>Line</p> <p>Line</p> <button wire:click.preserve-scroll="add"> Add </button> <div>{{ $count }}</div> </div>

Давайте откроем страницу по адресу /posts/long:

<?php Route::get('/posts/long', function () { return view('posts-long'); }); ?>

Давайте вставим компонент на страницу:

<x-layout> <livewire:post-long /> </x-layout>

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

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