اذهب إلى المحتوى
  • 0

كيفية إضافة Pagination في Laravel Livewire

Mahmoud Alrashidi

السؤال

لدي المُكون التالي لعرض مجموعة من المهام:

class AppTasks extends Component
{
  protected $listeners = ['taskAdded' => '$refresh'];

  public function render()
  {
    $totalTasks = auth()->user()->tasks()->count();
    $tasks = auth()->user()->tasks()->latest()->get();
    return view('livewire.app-tasks', [
      'totalTasks' => $totalTasks,
      'tasks' => $tasks
    ]);
  }
}

أريد إضافة pagination بنفس طريقة ال blade لكن يظهر بشكل غير جيد، هل هناك طريقة محددة و عند الضغط على الصفحات يتم الإنتقال بدون تحديث.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يُمكنك إستخدام الtrait WithPagination الذي يسمح لك بإضافة التصفح لمكون livewire ثم تحدد القالب على أنه bootstrap بهذا الشكل:

use Livewire\WithPagination;

class AppTasks extends Component
{

  use WithPagination;
  protected $paginationTheme = 'bootstrap';
  protected $listeners = ['taskAdded' => '$refresh'];

  public function render()
  {
    $totalTasks = auth()->user()->tasks()->count();
    $tasks = auth()->user()->tasks()->latest()->paginate(5);
    return view('livewire.app-tasks', [
      'totalTasks' => $totalTasks,
      'tasks' => $tasks
    ]);
  }
}

ثم إضافة السطر:

{{ $tasks->links() }}

لصفحة العرض. و سيظهر ترقيم الصفحات بشكل عادي، يُمكنك أيضاً إستخدام قالب خاص بك للصفحات إن رغبت في ذلك و الطريقة موجودة في التوثيق الرسمي : Pagination

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...