将数据从一个选项卡传递到另一个选项卡

时间:2020-04-04 11:00:03

标签: flutter dart

我的礼物我有这个密码

    import 'package:flutter/material.dart';
import 'package:simplifly/classes/Database/Users.dart';
import 'package:simplifly/dashbaord/chat.dart';
import 'package:simplifly/dashbaord/collection.dart';
import 'package:simplifly/dashbaord/home.dart';
import 'package:simplifly/dashbaord/mytrip.dart';

import 'media.dart';

class Dashboardmain extends StatefulWidget {
  final User usr;

  Dashboardmain({Key key, @required this.usr}) : super(key: key);

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

class _Dashboardmain extends State<Dashboardmain> {

  String group="";
int _currentIndex=0;
  void onTabTapped(int index) {
    setState(() {

        _currentIndex = index;
    });
  }
  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 4,
          child: Scaffold(
        appBar: AppBar(title: Text('Sami'),),
        body: [
          Home(),
          Media(),
          MyTrip(),
          Collection(),
          Chat()

        ].elementAt(_currentIndex),
          bottomNavigationBar: BottomNavigationBar(
          type: BottomNavigationBarType.fixed,
          // this will be set when a new tab is tapped
          onTap: onTabTapped, // new
          currentIndex: _currentIndex,
          items: [
            BottomNavigationBarItem(
              icon: ImageIcon(
                AssetImage(
                  "images/home_home.png",
                ),
              ),
              title: new Text('Home'),
            ),
            BottomNavigationBarItem(
              icon: ImageIcon(
                AssetImage("images/home_media.png"),
              ),
              title: new Text('Media'),
            ),
            BottomNavigationBarItem(
                icon: ImageIcon(
                  AssetImage("images/home_myTrip.png"),
                ),
                title: Text('My trips')),
            BottomNavigationBarItem(
                icon: ImageIcon(
                  AssetImage("images/home_collection.png"),
                ),
                title: Text('Collection')),
            BottomNavigationBarItem(
                icon: ImageIcon(
                  AssetImage("images/home_chat.png"),
                ),
                title: Text('Chat'))
          ],
        ),
      ),
    );
  }
}

默认情况下会显示“主页”,并在列表中显示来自Firebase的数据 其他选项卡(例如媒体)取决于主页中的数据 我想要的是当我按下“主页”中的列表项以将数据传递给媒体类时 我该怎么办 声明一个全局变量将解决它或有任何解决方案 谢谢

0 个答案:

没有答案