【发布时间】:2019-11-26 21:56:01
【问题描述】:
我有一个工作日列表var _weekdays = ['Monday', 'Tuesday','Wednesday', 'Thursday', 'Friday','Saturday','Sunday'];
我有一个从 Firestore 查询中获得的包含 7 个文档的列表,每个元素都是一张卡片……所以我的 ListView 显示 7 个项目,每个项目相当于一个工作日。
我有一个返回映射列表的函数,我只需要为文档列表中的每个项目增加cont++。我在ListView 中调用了这个函数,所以我只得到了一个小部件列表。
getExpenseItems(AsyncSnapshot<QuerySnapshot> snapshot, context) {
var cont=0;
var docs = snapshot.data.documents;
var favs = new List<DocumentSnapshot>();
var ind=0;
return favs
.map((doc) => new
Padding(
padding: const EdgeInsets.all(30),
child: Container(
height:100,
width: SizeConfig.screenWidth,
child:
Align(
alignment: Alignment.centerRight,
child:
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Column(
children: <Widget>[
Container(
height:100,
width: SizeConfig.screenWidth/4,
child:
Text(_weekdays[cont]+"\n\n" + doc['name'],style:TextStyle(fontSize: 19),),
),
],
),
Column(
children: <Widget>[
Container(
height: 100,
width: SizeConfig.screenWidth/4,
child: GestureDetector(
child: SizedBox(
width: MediaQuery.of(context).size.width,
//margin: EdgeInsets.symmetric(horizontal: 5.0),
height: 150,
child: Image.asset(doc['image'], fit: BoxFit.contain,)
//Text('text $i', style: TextStyle(fontSize: 16.0),)
),
onTap: (){
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => ViewRecipe(
image: doc['image'],
titulo: doc['name'],
user: user, rating:
doc['rating'],
steps: doc['steps'],
recipeId: doc['id'],
)));
},
),
),
],
),
],
),
),
),
)
).toList();
}
如果有任何帮助,我将不胜感激!谢谢。
【问题讨论】:
标签: flutter dart foreach iteration