Сброс пропсов макета в Inertia
Допустим, страница через
setLayoutProps свернула
боковую колонку и сменила
заголовок в шапке. Человек
закончил задачу и хочет вернуть
макет к статическим значениям
из определения страницы,
не уходя с адреса.
При переходе на другую страницу
Inertia сам сбрасывает динамические
пропсы, кроме случаев с сохранением
состояния. Вручную то же делает
функция resetLayoutProps:
она убирает все значения,
заданные через setLayoutProps,
и снова остаются статика
из опции layout и значения
по умолчанию в компоненте макета.
Давайте на странице настроек сначала изменим макет, а затем сбросим его:
<script setup>
import { setLayoutProps, resetLayoutProps } from '@inertiajs/vue3'
function enterFocus() {
setLayoutProps({
title: 'Focus',
showSidebar: false,
})
}
function leaveFocus() {
resetLayoutProps()
}
</script>
<template>
<h1>Settings</h1>
<button type="button" @click="enterFocus">
Focus
</button>
<button type="button" @click="leaveFocus">
Reset layout
</button>
</template>
Сделайте экран заметок работника Leo: после тихого режима кнопка возвращает шапку и боковую колонку к исходным надписям макета.