Flutter - 底部导航栏小部件

问题描述 投票:0回答:1

大家好,我在使用底部导航栏小部件时遇到问题,我试图将导航器与页面分开,但我不断收到相同的错误,并且它没有引导我到我想要的页面。有人可以帮助我吗?

这是我的底部导航栏

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:google_nav_bar/google_nav_bar.dart';
import 'package:notify_ju/Screens/categories.dart';
import 'package:notify_ju/Screens/myReports.dart';

class BottomNavigationBarWidget extends StatefulWidget {
  @override
  State<BottomNavigationBarWidget> createState() =>
      _BottomNavigationBarWidgetState();
}

class _BottomNavigationBarWidgetState extends State<BottomNavigationBarWidget> {
  int currentIndex = 0;
  void _nav(int index) {
    setState(() {
      currentIndex = index;
    });
  }

  final screen = [Categories(), const MyReports()];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: screen[currentIndex],
        bottomNavigationBar: GNav(
          backgroundColor: const Color.fromARGB(255, 195, 235, 197),
          activeColor: Color.fromARGB(255, 136, 135, 135),
          color: Colors.white,
          gap: 3,
          selectedIndex: currentIndex,
          onTabChange: _nav,
          tabs: [
            GButton(
              icon: Icons.home,
              text: 'Home',
            ),
            GButton(
              icon: Icons.notifications,
              text: 'My Reports',
            ),
          ],
        ));
  }
}
``
android flutter dart github-pages bottom-navigation-bar
1个回答
0
投票

我认为发生这种情况是因为您正在使用 :-

return ListView.builder(                  
                  itemCount: snapshot.data!.length,      
                  itemBuilder: (context, index) {         
                    final items = snapshot.data!;       
                    return Dismissible(                 
                      key: Key(index.toString()),  <== index as key 
                      background: Container( 

改为使用:-

 return ListView.builder(                  
                  itemCount: snapshot.data!.length,      
                  itemBuilder: (context, index) {         
                    final items = snapshot.data!;       
                    return Dismissible(                 
                    key: UniqueKey(), <=== Use unique key
                      background: Container(  
© www.soinside.com 2019 - 2024. All rights reserved.