Заполнение полей готовыми значениями в Livewire
Иногда текст поста уже известен: это шаблон, черновик или демо-данные. Ждать, пока его наберут вручную, незачем. Компонент может записать сразу несколько значений в свойства формы одним действием.
Метод fill принимает массив:
ключ - имя свойства, значение -
то, что должно оказаться в поле.
После вызова шаблон перерисуется
с новыми данными. Это не привязка
к модели Eloquent, а установка
публичных свойств формы.
Давайте добавим в PostForm
метод load, который подставит
готовые заголовок и текст:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostForm extends Component
{
public $title = '';
public $body = '';
public function load()
{
$this->fill([
'title' => 'Hello',
'body' => 'Text',
]);
}
public function render()
{
return view('livewire.post-form');
}
}
?>
В шаблоне добавим поля и кнопку,
которая вызывает load:
<div>
<input type="text" wire:model="title">
<textarea wire:model="body"></textarea>
<button type="button" wire:click="load">
Load
</button>
</div>
Сделайте кнопку, которая подставляет в форму готовые имя и должность работника.