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

Признак загрузки в Inertia

Давайте теперь откроем архив постов с панели, где нет готовой ссылки в меню: переход запускают из кода, и пока ответ не пришёл, рядом с кнопкой нужен короткий текст ожидания.

Такой поход на адрес методом GET у router устроен так же, как клик по Link. Во втором аргументе метода get можно передать колбэки: onStart срабатывает, когда визит только начался, onFinish - когда он полностью завершился, независимо от исхода. Флаг в ref удобно включать в onStart и гасить в onFinish.

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

<?php use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/posts/archive', function () { return Inertia::render('Posts/Archive', [ 'title' => 'Archive', ]); }); ?>

Давайте повесим на кнопку переход с признаком загрузки:

<script setup> import { ref } from 'vue' import { router } from '@inertiajs/vue3' const loading = ref(false) function openArchive() { router.get('/posts/archive', {}, { onStart: () => { loading.value = true }, onFinish: () => { loading.value = false }, }) } </script> <template> <h1>Posts</h1> <button type="button" @click="openArchive"> Open archive </button> <p v-if="loading"> Loading… </p> </template>

На экране работника Emma показывайте, что переход к списку отделов ещё идёт, и убирайте эту пометку, когда ответ пришёл.

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