Как управлять состоянием многостраничной формы с областью модели во флаттере - PullRequest
1 голос
/ 25 апреля 2020

У меня есть многостраничная форма, с которой мне нужно управлять состоянием. В настоящее время я пытаюсь использовать модель прицела, но она не работает. Все, что я go на другой странице состояние очищается. Я обычно использую виджет PageView для создания многостраничной формы. Что я действительно знаю, так это почему государство не существует. Спасибо

1 Ответ

0 голосов
/ 25 апреля 2020

Вы хотите убедиться, что ваша ScopedModel правильно оборачивает все страницы в многостраничной форме. Часто вы хотите обернуть все свое приложение с ScopedModel. Примерно так:

Future startUp() async {
  UserModel userModel = await loadUser();
  runApp(ScopedModel<UserModel>(model: userModel, child: MyApp()));
}

void main() {
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]);
  startUp();
}

В некоторых ситуациях требуется перестроение при изменении модели (пользователи входят в систему?)
Пример:

  @override
  Widget build(BuildContext context) {
    return ScopedModelDescendant<UserModel>(
        builder: (BuildContext context, Widget child, UserModel model) {
      return Scaffold(
          body: ListView(
            children: <Widget>[
              // your page here
            ]
          )
      );
    });
  }
...