【发布时间】:2020-10-02 00:18:54
【问题描述】:
我正在使用 Provider Package 和 ListView.Builder 在 Flutter 中构建简单的 TodoList 应用程序。
TaskModel.dart
class TaskModel { //Model class for the data to be stored
String task;
bool isCompleted;
String get getTask => task;
bool get getIsCompleted => isCompleted;
TaskModel({this.task, this.isCompleted});
}
Tasker.dart
class Tasker extends ChangeNotifier {
List<TaskModel> myTasks = [];
void addTask(TaskModel taskToAdd) {
myTasks.add(taskToAdd);
notifyListeners();
}
}
现在有 ListView.Builder,我正在尝试从 Tasker 类访问 myTasks。
Consumer<Tasker>(
builder: (context, newTask, child) {
return ListView.builder(
itemCount: newTask.myTasks.length, //The error is when accessing newTask.myTasks
itemBuilder: (context, index) {
return ListTile(.....);
});
},
),
错误信息是 *
getter 'myTasks' 在 null 上被调用。接收者:null 尝试调用: 我的任务
*
【问题讨论】:
-
您在代码中的哪个位置提供了 Tasker?类似
Provider(create: (_) => Tasker(), child: ...)
标签: flutter flutter-layout flutter-provider