Navigator.подвинуть Провайдера ниже Провайдера-предка?

Я хотел бы отправить страницу, которая использует ChangeNotifierProxyProvider, поэтому необходимо, чтобы новая страница и ее поставщик находились ниже поставщика-предка. Использование Navigator.push (..) помещает мою новую страницу в верхнюю часть дерева виджетов, над предком, к которому мне нужно получить доступ.

Вот моя проблемная функция. SurveyEditorViewModel - мой провайдер-предок, к которому мне нужно получить доступ из SurveyViewerViewModel.

showSurveyViewer(BuildContext context) {
  Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) {
        return ChangeNotifierProxyProvider<SurveyEditorViewModel, SurveyViewerViewModel>(
          create: (_) => SurveyViewerViewModel(),
          update: (_, surveyEditorViewModel, surveyViewerViewModel) =>
              surveyViewerViewModel..update(surveyEditorViewModel),
          child: SurveyViewerPage(),
        );
      },
    ),
  );
}

Как мне подтолкнуть страницу (и ее провайдера) ниже моего предка провайдера?

0 ответов

Другие вопросы по тегам