小编The*_*tch的帖子

每次按下导航项时,底部导航栏都会重新加载所有小部件

以下代码几乎是官方flutter github示例中底部导航栏的复制粘贴。问题是,在包含视图的小部件的打开处,所有内容都已预加载。每次按下底部栏元素时,都会重新加载所有视图。换句话说,当我按第一个项目时,日志显示出其他(第二个和第三个)正在拨打网络电话。当我按下第二个按钮时,日志显示我什至第一个正在拨打网络电话。调试时,我发现每次都从底部栏中选择一个小部件,包含它的小部件会重新构建(有一个对方法buid的调用)。这是正常现象吗?这是包含小部件的代码

class MainScreen extends StatefulWidget{

    @override
      State<StatefulWidget> createState()=> MainScreenState();

}


class MainScreenState extends State<MainScreen> with TickerProviderStateMixin{
      GlobalKey<ScaffoldState> scaffoldState = new GlobalKey();
      int _currentSelection = 0;
      BottomNavigationBarType _navigationBarType = BottomNavigationBarType.fixed;
      Li

    st<NavigationIconView> _navigationIcons;


    @override
      void initState() {


    super.initState();
        _navigationIcons = <NavigationIconView>[
          new NavigationIconView(


    icon: const Icon(Icons.home),
        title: '???????',
        vsync: this

      ),
      new NavigationIconView(
        icon: const Icon(Icons.map),
        title: '??????',
        vsync: this
      ),
      new NavigationIconView(
        icon: const Icon(Icons.dehaze),
        title: '???????',
        vsync: this
      )
    ];

    for(NavigationIconView v in _navigationIcons)
      v.controller.addListener(_rebuild);

    _navigationIcons[_currentSelection].controller.value = 1.0; …
Run Code Online (Sandbox Code Playgroud)

flutter

5
推荐指数
2
解决办法
1205
查看次数

标签 统计

flutter ×1