Принудительно TabController для создания всех вкладок Flutter - PullRequest
0 голосов
/ 31 августа 2018

У меня есть страница по умолчанию с двумя вкладками, использующая TabBar и TabController. Все работает нормально, за исключением того, что когда я захожу на страницу, метод построения второй вкладки вызывается только тогда, когда я щелкаю, чтобы перейти на вторую вкладку. Проблема в том, что при входе на страницу я хочу, чтобы обе вкладки уже были созданы (a.k.a их методы сборки выполнены). Есть мысли?

Код иллюстрации:

//This widget is used inside a Scaffold
class TabsPage extends StatefulWidget {

  @override
  State<StatefulWidget> createState() => new TabsPageState();

}

class TabsPageState extends State<TabsPage> with TickerProviderStateMixin {

  List<Tab> _tabs;
  List<Widget> _pages;
  TabController _controller;

  @override
  void initState() {
    super.initState();
    _tabs = [
      new Tab(text: 'TabOne'),
      new Tab(text: 'TabTwo')
    ];
    _pages = [
      //Just normal stateful widgets
      new TabOne(),
      new TabTwo()
    ];
    _controller = new TabController(length: _tabs.length, vsync: this);
  }

  @override
  Widget build(BuildContext context) {
    return new Padding(
      padding: EdgeInsets.all(10.0),
      child: new Column(
        children: <Widget>[
          new TabBar(
            controller: _controller,
            tabs: _tabs
          ),
          new SizedBox.fromSize(
            size: const Size.fromHeight(540.0),
            child: new TabBarView(
                controller: _controller,
                children: _pages
            ),
          )
        ],
      ),
    );
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...