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

Кнопка на время отправки в Inertia

Представим, что человек дважды нажимает «Save», пока запрос ещё не завершился. На сервер уходят дубликаты, а на экране непонятно, идёт ли отправка.

Свойство processing у объекта формы истинно, пока Inertia ждёт ответ на текущую отправку. Его связывают с атрибутом disabled у кнопки, чтобы повторный клик не отправил форму снова.

Давайте опишем адрес формы и приём полей:

<?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: '', }) function submit() { form.post('/posts') } </script> <template> <form @submit.prevent="submit"> <input type="text" v-model="form.title" /> <button type="submit" :disabled="form.processing" > Save </button> </form> </template>

Сделайте форму работника Sam так, чтобы кнопка сохранения не нажималась повторно, пока запрос не завершился.

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