import 'package:dfznapp/pages/person_center/person_center_page.dart';
import 'package:dfznapp/pages/user/user_list_page.dart';
import 'package:dfznapp/utils/constants.dart';
import 'package:flutter/material.dart';
import '../../utils/data_handle.dart';
import 'index_page.dart';
class HomePage extends StatefulWidget {
static String tag = "home";
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
int _selectedIndex = 0;
List<StatefulWidget> pagelist=[];
late int roleid=0;
@override
void initState() {
// TODO: implement initState
super.initState();
_initLoginInfo();
}
/// 记住密码的账号密码信息
void _initLoginInfo() async {
print("init------------------");
var res1 = await DataUtil.getData(Constants.LOGIN_ROLEID);
// var res2 = await DataUtil.getData(Constants.LOGIN_USERID);
// var res3 = await DataUtil.getData(Constants.LOGIN_USERNAME);
print("-----------------------");
roleid=int.parse(res1);
setState( () {} );
}
@override
Widget build(BuildContext context) {
print("build------------------");
if(roleid==1){
pagelist= [IndexPage(), UserListPage(), PersonCenterPage()];
}
if(roleid==2){
pagelist= [IndexPage(), PersonCenterPage()];
}
print(pagelist);
return Scaffold(
backgroundColor: Colors.white,
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
//如果你的icon没有设置color,选中的时候就会用到fixedColor的颜色,当BottomNavigationBarType是BottomNavigationBarType.shifting的时候,这个属性是不起作用的
//fixedColor: Colors.blue,
currentIndex: _selectedIndex,
selectedItemColor: Colors.blue,
// unselectedItemColor: Colors.amber[800],
onTap: _onItemTapped,
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(
Icons.home,
),
label: ('首页'),
),
BottomNavigationBarItem(
icon: Icon(
Icons.people,
),
label: ('人员列表'),
),
BottomNavigationBarItem(
icon: Icon(
Icons.person,
),
label: (
'个人中心'
)
),
],
),
body: pagelist[_selectedIndex],
);
}
void _onItemTapped(int index) {
print("_onItemTapped的index值是:"+index.toString());
setState(() {
_selectedIndex = index;
});
}
}
相似问题