我對這段代碼有問題,為什么不起作用?請。
我的代碼:
Container(
color: Colors.white,
child: BottomNavigationBar(
onTap: (_index) {
StepState.disabled.index;
switch (_index) {
case 0:
onTap:
() {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Home()),
);
};
break;
case 1:
onTap:
() {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => NosVoyages()),
);
};
break;
}
;
},
currentIndex: _index,
items: [
BottomNavigationBarItem(
label: '',
icon: Padding(
padding: const EdgeInsets.only(top: 10.0),
child: Icon(Icons.home),
)),
BottomNavigationBarItem(
label: '',
icon: Padding(
padding: const EdgeInsets.only(top: 10.0),
child: Icon(Icons.list_alt),
)),
],
type: BottomNavigationBarType.fixed,
backgroundColor: Colors.white,
unselectedItemColor: Colors.black,
),
);
主頁加載正常,但只要我點擊任何按鈕,它就什么都沒有改變。MaterialApp 或 Scaffold 可能存在問題,但我還無法修復它。誰能告訴我是什么問題以及如何解決它?
uj5u.com熱心網友回復:
試試這個變體初始化 _index
int _index=0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
top: false,
child: Container(
color: Colors.white,
child: Padding(
padding: const EdgeInsets.all(20.0),
child: BottomNavigationBar(
onTap: (_index) {
StepState.disabled.index;
switch (_index) {
case 0:
{
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Home()),
);
setState(() {
_index = 1;
});
}
;
break;
case 1:
{
setState(() {
_index = 0;
});
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NosVoyages()),
);
}
;
break;
}
},
currentIndex: _index,
items: [
BottomNavigationBarItem(
label: '',
icon: Padding(
padding: const EdgeInsets.only(top: 10.0),
child: Icon(Icons.home),
)),
BottomNavigationBarItem(
label: '',
icon: Padding(
padding: const EdgeInsets.only(top: 10.0),
child: Icon(Icons.list_alt),
)),
],
type: BottomNavigationBarType.fixed,
backgroundColor: Colors.white,
unselectedItemColor: Colors.black,
),
),
)));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/388553.html
標籤:扑
上一篇:TextFormField輸入文本溢位DropdownButtonFormField,Flutter
下一篇:DynamicBottomNavigationBarItems拋出錯誤“items.length>=2”:不正確
