Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
807 of 1024 menu
◀ ▶

Виджет PageStorage

Виджет PageStorage кладёт в дерево PageStorageBucket. Bucket передают в bucket, обёртку - в child. Дочерние виджеты с PageStorageKey читают и пишут состояние через bucket. Достать bucket из контекста помогает метод of.

Синтаксис

PageStorage( bucket: pageStorageBucket, child: child, )

Параметры

Параметр Описание
bucket Хранилище для данных PageStorageKey. Принимает PageStorageBucket.
child Поддерево, где действуют ключи прокрутки.

Методы

Метод Описание
of Возвращает PageStorageBucket из ближайшего PageStorage.

Пример

Давайте обернём Scaffold в PageStorage:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: PageStorage( bucket: PageStorageBucket(), child: Scaffold( body: Center( child: Text('abcde'), ), ), ), ), ); }

На экране текст 'abcde' лежит внутри PageStorage с новым bucket.

Пример

Давайте прочитаем bucket через PageStorage.of:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: PageStorage( bucket: PageStorageBucket(), child: Builder( builder: (context) { var bucket = PageStorage.of(context); return Scaffold( body: Center( child: Text( bucket != null ? '12345' : 'x', ), ), ); }, ), ), ), ); }

На экране по центру появится '12345', потому что PageStorage.of нашёл bucket.

Смотрите также

  • метод of,
    который возвращает bucket из контекста
  • класс PageStorageBucket,
    куда пишут readState и writeState
  • класс PageStorageKey,
    который связывает виджет с bucket
  • виджет Scaffold,
    который часто оборачивают в PageStorage
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить