在Flutter中从底部导航栏执行整页路线

时间:2018-12-15 02:06:21

标签: dart flutter

我实现了一个底部导航栏,当单击图标时,将重建支架的主体。但是,当我按下第三个图标(索引= 2)时,我想要一个整页路线,因此也不会显示底部导航栏。我有一些有效的代码,但是没有一个后退按钮可以弹出堆栈(因为它没有被压入堆栈)。 如何仅对底部导航栏上的一个索引使用后退按钮进行全页导航?

代码:

class MainApp extends StatefulWidget {

  @override
  _MainAppState createState() => _MainAppState();
}

class _MainAppState extends State<MainApp> {

  var _pages = [

    Page1(),
    Page2(),
    SpecialPage(),
    Page3(),
    Page4(),

  ];

  int _currentIndex = 0;

  onTabTapped(int index) {
    setState(() {
      _currentIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {


    return _currentIndex == 2 ?  SpecialPage(): Scaffold(
      body: _pages[_currentIndex],
      bottomNavigationBar: BottomNavigationBar(
        type: BottomNavigationBarType.fixed,
        items: [

          BottomNavigationBarItem(icon: Icon(Icons.library_books), title: Text('')),
          BottomNavigationBarItem(icon: Icon(Icons.notifications), title: Text('')),
          BottomNavigationBarItem(icon: Icon(Icons.add_circle_outline), title: Text('')),
          BottomNavigationBarItem(icon: Icon(Icons.mail), title: Text('')),
          BottomNavigationBarItem(icon: Icon(Icons.person), title: Text('')),

        ],
        onTap: onTabTapped,
        currentIndex: _currentIndex,
      ),
    );
  }
}

1 个答案:

答案 0 :(得分:1)

不要在身体上使用<div *ngFor='let q of questions'> <b>Question: </b> {{q.Question}}<br><br> <div *ngFor='let a of q.Awnsers'> <label> <input type="checkbox" name="options" value="{{a.awnsers}}" (checked)="a.isChecked" (change)="testoption($event, a.Awnser)" /> {{a.Awnser}} </label> </div> </div> ,而是使用bottomNavigationBar

Stack

然后,您只需要一行五行就可以做任何您想做的事。