Идентификатор группы в Livewire
Давайте теперь посмотрим на два столбца заголовков. Строку перенесли в соседний, а метод не знает, в какой: имя строки есть, но без метки столбца непонятно, куда её положить в данных.
Атрибут идентификатора
группы wire:sort:group-id
вешают на каждый список
со своим значением.
Обработчик получит
третий аргумент с id
столбца-назначения,
и сработает только
его метод.
Страница откроется
по адресу /posts/lanes.
Давайте создадим компонент
PostLanes:
php artisan make:livewire PostLanes --class
Давайте заведём два массива и метод с третьим параметром:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostLanes extends Component
{
public $left = [
1 => 'News',
2 => 'Note',
];
public $right = [
3 => 'Draft',
];
public $note = '';
public function handleSort(
$id,
$position,
$group
) {
$this->note = $group;
}
public function render()
{
return view('livewire.post-lanes');
}
}
?>
Давайте у каждого списка укажем группу и свой id столбца:
<div>
<ul
wire:sort="handleSort"
wire:sort:group="handleSort"
wire:sort:group-id="left"
>
@foreach ($left as $id => $title)
<li
wire:key="left-{{ $id }}"
wire:sort:item="{{ $id }}"
>
{{ $title }}
</li>
@endforeach
</ul>
<ul
wire:sort="handleSort"
wire:sort:group="handleSort"
wire:sort:group-id="right"
>
@foreach ($right as $id => $title)
<li
wire:key="right-{{ $id }}"
wire:sort:item="{{ $id }}"
>
{{ $title }}
</li>
@endforeach
</ul>
<div>{{ $note }}</div>
</div>
Давайте откроем страницу
по адресу /posts/lanes:
<?php
Route::get('/posts/lanes', function () {
return view('posts-lanes');
});
?>
<x-layout>
<livewire:post-lanes />
</x-layout>
Создайте компонент EmployeeLanes.
После переноса видно,
в какой столбец попал
работник.