学生详细信息列表= []< StudentModel>;这里StudentModel是Flutter中类,我不知道这行代码是如何工作的

sd2nnvve  于 2023-01-06  发布在  Flutter
关注(0)|答案(4)|浏览(103)
class StudentModel {
final String name;
final String age;

StudentModel({required this.name, required this.age});
}

这是学生模型类
我不明白值将如何存储在此列表中

e5nqia27

e5nqia271#

可以按照下面的代码向列表中添加元素。

List<StudentModel> studentDetails = [];

 StudentModel firstStudent = StudentModel(name: "John", age: "16");
 StudentModel secondStudent = StudentModel(name: "Doe", age: "17");

 studentDetails.add(firstStudent);
 studentDetails.add(secondStudent);

 studentDetails.forEach((student) {
   print(student.name);
 });

// Prints:
// John
// Doe

studentDetails基本上是一个包含n个StudentModel对象的列表,可以将其想象为以下形式:

studentDetails = [
    StudentModel(name: "John", age: "16"),
    StudentModel(name: "Doe", age: "17"),
  ];
kxkpmulp

kxkpmulp2#

您可以使用下面的代码片段来了解

// Create object to add students
List<StudentModel> students = [];

// Adding student details to list
students.add(StudentModel(name: "Amitabh", age: "65"));
students.add(StudentModel(name: "Akshay", age: "72"));

// Iterate list to see output
students.forEach((student) {
   print(student.name);
   print(student.age);
});

// Output:
// Amitabh
// 65
// Akshay
// 72

在这里,我们创建了一个名为students的对象,用于存储下一行中的学生列表,我们使用nameage键(如模型中所述,这两个键都是required)将学生详细信息添加到列表中,然后迭代学生列表以打印我们添加的学生详细信息。

disho6za

disho6za3#

如果你是在谈论这个类构造函数是如何工作的,那么这里有一些解释。
在flutter中,当你创建这种类型的类时,有几种方法可以设置值,这取决于你如何创建数据模型类的构造函数。

1.命名参数

class StudentModel {
   final String name;
   final String age;

   StudentModel({required this.name, required this.age});
}

{}中的这种类型的参数称为命名参数。要设置这种类型的值,您需要指定要像这样设置值的参数的名称。

StudentModel _studentModel = StudentModel(name: "John", age: "30");

这也将允许你设置所需的参数。如果你不想每次都使用名称&只是想设置值,那么你可以第二种方法。

2.未命名参数

class StudentModel {
   final String name;
   final String age;

   StudentModel(this.name, this.age});
}

这里你可以去掉花括号,这样你就可以像这样设置值。

StudentModel _studentModel = StudentModel("John", "30");

3.可选参数在上述两种类型中,您必须传递所有参数,因为它们是必需的,如第一种方法所述,第二种方法默认为必需。但如果您想在两种方法中将某些参数设置为可选,您可以这样做。

在named中可以这样写

StudentModel({required this.name, this.age = 20}); // age must be specified

在无名你可以试试这个

StudentModel(this.name, [this.age = 20]); // age must be specified within []

希望这能有所帮助

bfrts1fy

bfrts1fy4#

列出学生详细信息= [];
上面的代码用于初始化“空”studentDetails列表。另外,通过在每次加载此小部件时声明此列表,列表将初始化为空。
通过添加功能,您可以添加值到列表
例如学生详细信息.add(学生模型(名称:“利沙布·古普塔”,年龄:“23”)));

相关问题