Добавление в остров в Livewire
Давайте теперь посмотрим на ленту постов, которая растёт по кнопке. Каждая новая порция заменяет уже показанное, и человек теряет предыдущие строки.
Модификатор append у атрибута island дописывает свежую разметку к острову, а не подменяет старую.
Страница откроется
по адресу /posts/feed.
Давайте создадим компонент
PostFeed:
php artisan make:livewire PostFeed --class
Давайте добавим маршрут и страницу:
<?php
Route::get('/posts/feed', function () {
return view('posts-feed');
});
?>
<x-layout>
<livewire:post-feed />
</x-layout>
Давайте в шаблоне заведём именованный остров и кнопку с append:
<div>
@island(name: 'feed')
<div>Line</div>
@endisland
<button
type="button"
wire:click="$refresh"
wire:island.append="feed"
>
More
</button>
</div>
Давайте опишем класс компонента:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostFeed extends Component
{
public function render()
{
return view('livewire.post-feed');
}
}
?>
Создайте компонент EmployeeFeed.
Каждое нажатие дописывает
строку к списку работника,
не стирая прежние.