В этой статье блога мы рассмотрим, как использовать возможности Yajra DataTables с кнопками в Laravel 9. Yajra DataTables — это мощный пакет, который позволяет эффективно управлять большими объемами данных и отображать их в приложениях Laravel. Добавляя кнопки в DataTables, вы можете улучшить взаимодействие с пользователем и предоставить дополнительные функции. Итак, давайте углубимся и узнаем несколько интересных способов использования Yajra DataTables с кнопками!
Метод 1: добавление пользовательских кнопок
Yajra DataTables позволяет легко добавлять пользовательские кнопки в ваши таблицы. Эти кнопки могут выполнять различные действия, например редактирование, удаление или экспорт данных. Давайте посмотрим пример:
use Yajra\DataTables\DataTables;
public function index()
{
return view('datatable.index');
}
public function getData()
{
$data = User::query();
return DataTables::of($data)
->addColumn('action', function ($user) {
return '<a href="/edit/'.$user->id.'" class="btn btn-primary">Edit</a>
<a href="/delete/'.$user->id.'" class="btn btn-danger">Delete</a>';
})
->rawColumns(['action'])
->make(true);
}
Метод 2: использование предопределенных кнопок
Yajra DataTables предоставляет набор предопределенных кнопок, которые можно использовать сразу после установки. Эти кнопки предлагают общие функции, такие как сортировка, поиск и экспорт данных. Давайте рассмотрим пример:
use Yajra\DataTables\DataTables;
public function index()
{
return view('datatable.index');
}
public function getData()
{
$data = User::query();
return DataTables::of($data)
->addColumn('action', function ($user) {
return '<a href="/edit/'.$user->id.'" class="btn btn-primary">Edit</a>
<a href="/delete/'.$user->id.'" class="btn btn-danger">Delete</a>';
})
->addIndexColumn()
->addColumn('checkbox', '<input type="checkbox" name="checkbox[]" value="{{ $id }}" />')
->rawColumns(['action', 'checkbox'])
->make(true);
}
Метод 3: реализация кнопок на уровне строк
В некоторых случаях может потребоваться добавить кнопки в отдельные строки, а не во всю таблицу. Yajra DataTables позволяет добиться этого с помощью метода editColumn. Давайте посмотрим пример:
use Yajra\DataTables\DataTables;
public function index()
{
return view('datatable.index');
}
public function getData()
{
$data = User::query();
return DataTables::of($data)
->editColumn('action', function ($user) {
return '<a href="/edit/'.$user->id.'" class="btn btn-primary">Edit</a>
<a href="/delete/'.$user->id.'" class="btn btn-danger">Delete</a>';
})
->make(true);
}
Yajra DataTables с кнопками — это мощная комбинация, которая может значительно улучшить функциональность и удобство использования вашего приложения Laravel 9. Используя настраиваемые кнопки, предопределенные кнопки и кнопки уровня строк, вы можете легко добавлять интерактивность и выполнять действия с данными. Так что попробуйте это в своем следующем проекте!