我創建了一個任務串列。我想像這樣計算任務長度:
ongoing tasks= task list length-isDone tasks
我想isDone在這種情況下找到任務計數。至于圖片isDone任務= 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;
}
}
uj5u.com熱心網友回復:
您可以使用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;
}
uj5u.com熱心網友回復:
如果出現問題,您可能需要轉換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;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467960.html
上一篇:Flutter-抽屜滑動區域擴大
