РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwSpFxFl 23 of 102 menu
◀ ▶

Заполнение формы в Livewire

Пусть форма поста на экране пустая, а нужные заголовок и текст уже известны заранее. После отправки те же поля удобно снова обнулить, чтобы набрать новый черновик.

У объекта формы есть вызовы, которые записывают массив значений в поля или возвращают форму к начальному пустому состоянию. Компонент только передаёт данные и обновляет разметку.

Давайте заведём DraftForm:

<?php namespace App\Livewire\Forms; use Livewire\Form; class DraftForm extends Form { public $title = ''; public $body = ''; } ?>

Давайте создадим компонент DraftEditor:

php artisan make:livewire DraftEditor --class

Давайте добавим маршрут и страницу:

<?php Route::get('/posts/draft', function () { return view('posts-draft'); }); ?>
<x-layout> <livewire:draft-editor /> </x-layout>

Давайте добавим в компонент действия для подстановки и очистки:

<?php namespace App\Livewire; use App\Livewire\Forms\DraftForm; use Livewire\Component; class DraftEditor extends Component { public DraftForm $form; public function load() { $this->form->fill([ 'title' => 'News', 'body' => 'Text', ]); } public function clear() { $this->form->reset(); } public function render() { return view('livewire.draft-editor'); } } ?>

Давайте свяжем поля и кнопки Fill и Clear:

<div> <input type="text" wire:model="form.title" > <textarea wire:model="form.body" ></textarea> <button type="button" wire:click="load"> Fill </button> <button type="button" wire:click="clear"> Clear </button> </div>

Создайте класс PersonForm и компонент PersonEditor. Одна кнопка подставляет имя Ann и должность Clerk, другая очищает поля.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить