class HomePageState extends State{
final topTitles = ['审批单', '机票列表', '客服'];
final topIcons = ['assets/home/approval.png', 'assets/home/air_ticket.png', 'assets/home/service.png'];
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
appBar: AppBar(
title: Text('首页')
),
body: Column(
children: <Widget>[
//顶部
Row(
children: topTitles.asMap().keys.map((f)=>
Expanded(
flex: 1,
child: Column(
children: <Widget>[
Image(
image: new AssetImage(topIcons[f]),
height: 60, width: 60),
Text(topTitles[f])
],
),
)).toList(),
),
//列表
],
),
);
}
@override
void initState() {
// TODO: implement initState
super.initState();
print("initStateHome");
}
}
- 用其他语言,一般都可以map()来迭代数组, 获取index, element,用dart的map()发现无法获取下标,百度发现说用asMap
image.png
- list.asMap()获取的是一个map对象, 默认以下标作为key, so 通过keys就可以获取下标数组, 这样就可以获取我想要的下标了。
网友评论