Сброс хелпера в Inertia
Пусть человек набрал новый заголовок записи, передумал и хочет вернуть текст, который был при открытии страницы. Отправлять форму на сервер для этого не нужно.
У объекта формы есть метод
reset: он восстанавливает
значения полей к тем, что
задали при создании хелпера
или к обновлённым умолчаниям,
если их уже меняли. Кнопка
сброса не должна отправлять
форму, поэтому у неё тип
обычной кнопки, а метод
вызывают по клику.
Давайте опишем адрес формы и приём полей:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
Route::get('/posts/create', function () {
return Inertia::render('Posts/Create');
});
Route::post('/posts', function (Request $request) {
return back();
});
?>
Давайте зададим начальный заголовок, сохранение и сброс:
<script setup>
import { useForm } from '@inertiajs/vue3'
const form = useForm({
title: 'News',
})
function submit() {
form.post('/posts')
}
</script>
<template>
<form @submit.prevent="submit">
<input
type="text"
v-model="form.title"
/>
<button type="submit">Save</button>
<button type="button" @click="form.reset()">
Reset
</button>
</form>
</template>
Сделайте форму работника Mia с кнопкой, которая возвращает имя к начальному тексту и не отправляет форму.