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

Смена пропсов макета в Inertia

Давайте рассмотрим ситуацию, когда человек нажимает кнопку и боковая колонка должна свернуться, а заголовок в шапке - смениться, не дожидаясь нового визита на сервер.

Статические значения из опции layout для этого не годятся: они заданы при открытии страницы. Функция setLayoutProps обновляет пропсы макета прямо из компонента страницы. Такие динамические значения имеют приоритет выше статических и значений по умолчанию в самом макете.

Давайте в макете оставим флаг боковой колонки:

<script setup> const props = withDefaults( defineProps({ title: String, showSidebar: Boolean, }), { title: 'My App', showSidebar: true, }, ) </script> <template> <header>{{ props.title }}</header> <aside v-if="props.showSidebar">Sidebar</aside> <main> <slot /> </main> </template>

Давайте на странице вызовем setLayoutProps при монтировании:

<script setup> import { setLayoutProps } from '@inertiajs/vue3' setLayoutProps({ title: 'Dashboard', showSidebar: false, }) </script> <template> <h1>Dashboard</h1> </template>

Сделайте экран задач работника Maria, где после нажатия кнопки шапка макета меняет режим, а боковая колонка исчезает.

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