Добавление элемента в список в Livewire
Список заголовков постов задан в классе и на странице только читается. Новый черновик из браузера в массив не попадает: кнопки, которая меняет список, ещё нет.
Добавление делает метод компонента.
Он дописывает строку в конец массива,
а кнопка с wire:click вызывает
этот метод. Подпись нового пункта
собирают по номеру, чтобы строки
в списке не сливались.
Давайте соберём PostList
с методом add:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostList extends Component
{
public $titles = ['News', 'Photo'];
public function add()
{
$this->titles[] = 'post ' . (count($this->titles) + 1);
}
public function render()
{
return view('livewire.post-list');
}
}
?>
Давайте разместим под списком
кнопку с вызовом add:
<div>
<ul>
@foreach ($titles as $title)
<li>{{ $title }}</li>
@endforeach
</ul>
<button type="button" wire:click="add">
Add
</button>
</div>
Сделайте кнопку, которая добавляет работника в список.