在Flutter的新版本中,我遇到了如下错误。
错误:无法将参数类型"列表?"赋给参数类型"动态函数(列表?)"。([temel_widget] lib\screens\student_add. dart中的参数类型不可赋值:14)
class StudentAdd extends StatefulWidget {
//Student addStudent = Student.withId(0, "", "", 0);
List<Student>? students;
StudentAdd(List<Student>? students) {
this.students = students;
}
@override
State<StatefulWidget> createState() {
return _StudentAddState(students); **This here error message**
}
}
class _StudentAddState extends State with StudentValidationMixin {
//Student addStudent = Student.withId(0, "", "", 0);
List<Student>? students=[];
var student = Student.withoutInfo();
var formKey = GlobalKey<FormState>();
_StudentAddState(StudentAdd(List<Student>? students)) {
this.students = students;
}
2条答案
按热度按时间h6my8fg21#
检查状态构造函数中的参数
您不需要将数据从Widget传递到其状态,您可以使用
widegt.data
从State类访问Widget数据qvtsj1bj2#
如果选中此
tudentAdd(List<Student>? students)
,则在_StudentAddState
中调用StudentAdd
构造函数。你需要使用
你也可以避免传递参数,而我们可以使用
widget.varableName
来访问类级变量。为了初始化item,我们在state中使用了initState