Состояние страницы
PageFlow сохраняет полезное состояние превью, чтобы переход к другой странице не всегда сбрасывал интерфейс.
Автоматически восстанавливаемое состояние
Поддерживаемые нативные поля ввода, списки, флажки и позиции прокрутки сохраняются и восстанавливаются автоматически. Поля паролей, файлов и кодов подтверждения намеренно исключены.
Регистрация состояния приложения
Сложные виджеты и состояние фреймворка могут подключаться через definePageFlowState.
import { onUnmounted, ref } from 'vue'
import { definePageFlowState } from 'unplugin-pageflow/runtime-state'
const activeTab = ref('overview')
const selectedRole = ref('farmer')
const stop = definePageFlowState('page-options', {
get: () => ({
activeTab: activeTab.value,
selectedRole: selectedRole.value,
}),
restore: (state) => {
activeTab.value = state.activeTab
selectedRole.value = state.selectedRole
},
})
onUnmounted(stop)Используйте стабильный уникальный ключ для блока состояния. Возвращайте из get сериализуемые нечувствительные данные и сделайте restore безопасным после монтирования страницы.
Изоляция
Состояние и кэшированные превью разделяются по полному URL страницы, включая значимые строки запроса и хеши, а также по роли PageFlow, используемой для превью.
Безопасность
Не регистрируйте пароли, токены, коды подтверждения, закрытые ключи или секреты клиентов. Считайте зарегистрированное состояние данными инструмента разработки, а не защищённым хранилищем.