Flutter 我们如何触发一个有状态的小部件,使用flifter中的底部导航栏通过导航来重建自身?

Flutter 我们如何触发一个有状态的小部件,使用flifter中的底部导航栏通过导航来重建自身?,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,当我们使用BottomNavigationBar在Flatter中导航到不同的页面时,有状态的页面似乎不会自行重建 这意味着与抽屉不同,我们不能使用BottomNavigationBar触发重建有状态小部件。状态保持原样,底部导航栏在页面上滑动,无法帮助重新构建整个页面 int\u选择的索引=0; 静态常量TextStyle选项style=TextStyle(fontSize:30,fontWeight:fontWeight.bold); 静态常量列表_widgetOptions=[ 第1页()

当我们使用BottomNavigationBar在Flatter中导航到不同的页面时,有状态的页面似乎不会自行重建

这意味着与抽屉不同,我们不能使用BottomNavigationBar触发重建有状态小部件。状态保持原样,底部导航栏在页面上滑动,无法帮助重新构建整个页面

int\u选择的索引=0;
静态常量TextStyle选项style=TextStyle(fontSize:30,fontWeight:fontWeight.bold);
静态常量列表_widgetOptions=[
第1页(),
第2页(),
第3页(),
];
void\u未映射(整数索引){
设置状态(){
_selectedIndex=索引;
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:常量文本(“底部导航栏示例”),
),
正文:_widgetOptions.elementAt(_selectedIndex),
),
底部导航栏:底部导航栏(
项目:常数[
底部导航气压计(
图标:图标(Icons.home),
标题:文本(“主页”),
),
底部导航气压计(
图标:图标(Icons.business),
标题:文本(“业务”),
),
底部导航气压计(
图标:图标(Icons.school),
标题:文本(“学校”),
),
],
currentIndex:_selectedIndex,
selectedItemColor:Colors.amber[800],
onTap:\u未映射,
),
);
}
在这里,小部件即
Page1()
Page2()
Page3()
是有状态的小部件,当通过底部导航栏导航时,它们似乎不会重建自身。我们有什么办法可以这样做吗?

而不是

static const List<Widget> _widgetOptions = <Widget>[
  Page1(),
  Page2(),
  Page3(),
];
并且还替换

body: _widgetOptions.elementAt(_selectedIndex),

body: _widgetOptions.elementAt(_selectedIndex),
body: _widgetOptions(_selectedIndex),