یک مشکل فیلامنت در زمان نمایش لیست ها این هست که وقتی روی صفحه بندی کلیک می کنیم به بالا اسکرول نمی شه و باید به صورت دستی این کار رو انجام بدیم. برای رفع این مشکل باید کارهای زیر رو انجام بدیم:
در صفحه ای که لیست رو نمایش می ده (مثلا: ListTasks.php) قطعه کد زیر رو می نویسیم:
class ListTasks extends ListRecords { // ... public function setPage($page, $pageName = 'page'): void { parent::setPage($page, $pageName); $this->dispatch('scroll-to-top'); } }
و در صفحه AppServiceProvider.php هم کد زیر رو اضافه می کنیم:
use Filament\Support\Facades\FilamentView; use Filament\View\PanelsRenderHook; use Illuminate\Support\HtmlString; // ... class AppServiceProvider extends ServiceProvider { // ... public function boot(): void { FilamentView::registerRenderHook( PanelsRenderHook::SCRIPTS_AFTER, fn (): string => new HtmlString('document.addEventListener("scroll-to-top", () => window.scrollTo(0, 0))'), ); } }
و تمام.