блок flutter - получить динамические данные в блоке с новой страницы - PullRequest
0 голосов
/ 10 октября 2019

У меня есть main виджет, который вкладывает home виджет страницы и setting виджет страницы. внутри setting, будет гнездо pageView виджет

  • main:
    • home
    • настройка
      • просмотр страницы

У меня есть main_bloc для размещения некоторых интерактивных данных selected_page_index, для установки начальной страницы pageView при переходе на страницу setting. Ниже приведен мой код для страницы настроек:

class _SettingPageState extends State<SettingPage> {
  MainBloc _mainBloc;
  PageController facilityBookingPageviewController;

  @override
  void initState() {
    super.initState();
    _mainBloc = BlocProvider.of<MainBloc>(context);

    print(_mainBloc.selected_page_index); ///<-- this give me the correct value

    facilityBookingPageviewController = PageController(
      initialPage: _mainBloc.selected_page_index,
    );
  }

Я могу print() вывести правильное значение в initState(), но каким-то образом initialPage получит только исходное значение _mainBloc.selected_page_index.

Я считаю, что сделал что-то не так с точки зрения времени. Как правильно это сделать?

1 Ответ

1 голос
/ 11 октября 2019

controller.currentPage возвращает двойное значение. Например, при перелистывании страницы значение постепенно меняется с 1 на 2 и не сразу переходит на 2. При использовании этого происходит переход на вторую страницу напрямую. currentPage может использовать вместо initialPage, если ваше значение _mainBloc.selected_page_index равно double. Попробуйте это и дайте мне знать, если это работает для вас

...