Свойство в адресе в Livewire
Пусть найденные посты нельзя послать ссылкой: в адресе нет строки поиска, и после обновления или пересылки другой человек видит пустую страницу.
Атрибут Url синхронизирует свойство с параметром в адресной строке. Значение видно в URL и подставляется в компонент при открытии страницы.
Давайте создадим компонент
PostQuery:
php artisan make:livewire PostQuery --class
Давайте добавим маршрут и страницу:
<?php
Route::get('/posts/query', function () {
return view('posts-query');
});
?>
<x-layout>
<livewire:post-query />
</x-layout>
Давайте пометим поле поиска атрибутом Url:
<?php
namespace App\Livewire;
use Livewire\Attributes\Url;
use Livewire\Component;
class PostQuery extends Component
{
#[Url]
public $search = '';
public function render()
{
return view('livewire.post-query');
}
}
?>
Давайте свяжем поле с свойством
через wire:model.live,
чтобы адрес обновлялся
по мере ввода:
<div>
<input
type="text"
wire:model.live="search"
>
<div>{{ $search }}</div>
</div>
Создайте компонент EmployeeQuery.
Строка поиска работника
видна в адресе страницы.