【发布时间】:2021-12-05 07:58:17
【问题描述】:
我在 FutureBuilder 中有一个 for 循环:
for (var doc in exercises) {
bool isRowsGeneratedForPreviousExercises = false;
dataRowsForCompletedExercises = [];
var setList = [];
Map<String, dynamic> exercise;
var exerciseName = '';
exercise = doc.data() as Map<String, dynamic>;
setList = exercise['sets'];
exerciseName = exercise['name'];
if (!(doc.id == exerciseId)) {
for (var set in setList) {
var weight = '';
var reps = '';
var isToFailure = false;
weight = set['weight'].toString();
reps = set['reps'].toString();
isToFailure = set['isToFailure'];
if (isRowsGeneratedForPreviousExercises == false) {
_generateDataTableRowsForCompletedExercises(
weight,
reps,
isToFailure,
);
isRowsGeneratedForPreviousExercises = true;
}
}
}
completedExercisesWidgetsList.add(
_completedExercisesDataTableWidget(exerciseName)
print('LIST LENGTH = ' +
completedExercisesWidgetsList.length.toString());
}//for loop ends
return ListView(
shrinkWrap: true,
scrollDirection: Axis.vertical,
children: completedExercisesWidgetsList,
);
}
completeExercisesWidgetsList的长度在循环结束时为6;但是只有 1 个孩子被渲染。有什么问题?
【问题讨论】:
标签: flutter for-loop dart listview