没有这样的方法错误。 getter 被调用为 null
No such method error. The getter was called on null
我正在使用 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 34=] Class.
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(.....);
});
},
),
错误信息是
*
The getter 'myTasks' was called on null. Receiver: null Tried calling:
myTasks
*
我认为您错过了连接您的 class 的提供程序,因为如果您没有先定义它,它就无法检测到您的模型
return ChangeNotifierProvider<TaskModel>( // <--- ChangeNotifierProvider
create: (context) => TaskModel(),
child: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(.....);
});
},
),
我正在使用 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 34=] Class.
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(.....);
});
},
),
错误信息是 *
The getter 'myTasks' was called on null. Receiver: null Tried calling: myTasks
*
我认为您错过了连接您的 class 的提供程序,因为如果您没有先定义它,它就无法检测到您的模型
return ChangeNotifierProvider<TaskModel>( // <--- ChangeNotifierProvider
create: (context) => TaskModel(),
child: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(.....);
});
},
),