如何在颤动中计算列表的特定长度
How to count a specific length of a list in flutter
我创建了一个任务列表。我想这样计算任务长度:
ongoing tasks
= task list length
- isDone tasks
我想找到本例中的 isDone
个任务计数。至于图片isDone
tasks = 2.
这些是我创建的 类。
class Task {
final String taskName;
bool isDone;
Task({required this.taskName, this.isDone = false});
void toggleDone() {
isDone = !isDone;
}
}
.......
class Taskdata with ChangeNotifier {
final List<Task> _tasks = [];
UnmodifiableListView<Task> get tasks {
return UnmodifiableListView(_tasks);
}
int get tasksCount {
return _tasks.length;
}
}
您可以使用 where 函数根据特定条件过滤列表:
int get tasksCount {
List<Task> tasksLeft = _tasks.where((task) => !task.isDone).toList(); //where returns an iterable so we convert it back to a list
return tasksLeft.length;
}
如果出现问题,您可能需要将 List
转换为 Iterable
int get doneCount {
Iterable<Task> tasksDone = _tasks
.where((task) => task.isDone)
.toList(); //where returns an iterable so we convert it back to a list
return tasksDone.length;
}
我创建了一个任务列表。我想这样计算任务长度:
ongoing tasks
= task list length
- isDone tasks
我想找到本例中的 isDone
个任务计数。至于图片isDone
tasks = 2.
这些是我创建的 类。
class Task {
final String taskName;
bool isDone;
Task({required this.taskName, this.isDone = false});
void toggleDone() {
isDone = !isDone;
}
}
.......
class Taskdata with ChangeNotifier {
final List<Task> _tasks = [];
UnmodifiableListView<Task> get tasks {
return UnmodifiableListView(_tasks);
}
int get tasksCount {
return _tasks.length;
}
}
您可以使用 where 函数根据特定条件过滤列表:
int get tasksCount {
List<Task> tasksLeft = _tasks.where((task) => !task.isDone).toList(); //where returns an iterable so we convert it back to a list
return tasksLeft.length;
}
如果出现问题,您可能需要将 List
转换为 Iterable
int get doneCount {
Iterable<Task> tasksDone = _tasks
.where((task) => task.isDone)
.toList(); //where returns an iterable so we convert it back to a list
return tasksDone.length;
}