Skip to content

Состояние страницы

PageFlow сохраняет полезное состояние превью, чтобы переход к другой странице не всегда сбрасывал интерфейс.

Автоматически восстанавливаемое состояние

Поддерживаемые нативные поля ввода, списки, флажки и позиции прокрутки сохраняются и восстанавливаются автоматически. Поля паролей, файлов и кодов подтверждения намеренно исключены.

Регистрация состояния приложения

Сложные виджеты и состояние фреймворка могут подключаться через definePageFlowState.

ts
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, используемой для превью.

Безопасность

Не регистрируйте пароли, токены, коды подтверждения, закрытые ключи или секреты клиентов. Считайте зарегистрированное состояние данными инструмента разработки, а не защищённым хранилищем.

Опубликовано по лицензии MIT.