类没有实例 getter 'length'

mva*_*sco 0 dart flutter

我正在尝试在屏幕上创建一个包含从远程服务器加载的项目的列表。

\n
 Container(\n              child: FutureBuilder(\n                future: fetchClinicas(),\n                builder: (context, snapshot) {\n                  if (snapshot.hasData) {\n                    return ListView.builder(\n                      itemCount: snapshot.data.length,\n                      shrinkWrap: true,\n                      itemBuilder: (BuildContext contex, index) {\n                        Clinica clinica = snapshot.data[index];\n                        return Text(\n                          '${clinica.nombreClinica}',\n                          style: TextStyle(fontSize: 20),\n                        );\n                      },\n                    );\n                  }\n                  return CircularProgressIndicator();\n                },\n              ),\n            ),\n
Run Code Online (Sandbox Code Playgroud)\n

这里有两个文件:

\n

临床API.dart

\n
Future<List<Clinica>> fetchClinicas() async {\n  String url ="https://.../get_clinicas.php";\n  final response = await http.get(url);\n  return clinicaFromJson(response.body);\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

和模型类Clinica.dart

\n
import 'dart:convert';\n\nList<Clinica> clinicaFromJson(String str) => List<Clinica>.from(json.decode(str).map((x) => Clinica.fromJson(x)));\n\nString clinicaToJson(List<Clinica> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));\n\nclass Clinica {\n  Clinica({\n    this.idClinica,\n    this.nombreClinica,\n    this.direccionClinica,\n    this.telClinica,\n    this.emailClinica,\n    this.codClinica,\n    this.fechaIngresoClinica,\n    this.logoClinica,\n  });\n\n  String idClinica;\n  String nombreClinica;\n  String direccionClinica;\n  String telClinica;\n  String emailClinica;\n  String codClinica;\n  DateTime fechaIngresoClinica;\n  String logoClinica;\n\n  factory Clinica.fromJson(Map<String, dynamic> json) => Clinica(\n    idClinica: json["id_clinica"],\n    nombreClinica: json["nombre_clinica"],\n    direccionClinica: json["direccion_clinica"],\n    telClinica: json["tel_clinica"],\n    emailClinica: json["email_clinica"],\n    codClinica: json["cod_clinica"],\n    fechaIngresoClinica: DateTime.parse(json["fecha_ingreso_clinica"]),\n    logoClinica: json["logo_clinica"],\n  );\n\n  Map<String, dynamic> toJson() => {\n    "id_clinica": idClinica,\n    "nombre_clinica": nombreClinica,\n    "direccion_clinica": direccionClinica,\n    "tel_clinica": telClinica,\n    "email_clinica": emailClinica,\n    "cod_clinica": codClinica,\n    "fecha_ingreso_clinica": "${fechaIngresoClinica.year.toString().padLeft(4, '0')}-${fechaIngresoClinica.month.toString().padLeft(2, '0')}-${fechaIngresoClinica.day.toString().padLeft(2, '0')}",\n    "logo_clinica": logoClinica,\n  };\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我的问题是我在行中遇到异常:

\n
 itemCount: snapshot.data.length,\n
Run Code Online (Sandbox Code Playgroud)\n

这里是异常输出:

\n
\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90 Exception caught by widgets library \xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\nThe following NoSuchMethodError was thrown building FutureBuilder<List<Clinica>>(dirty, state: _FutureBuilderState<List<Clinica>>#8b603):\nClass 'List<Clinica>' has no instance getter 'lenght'.\nReceiver: Instance(length:3) of '_GrowableList'\n
Run Code Online (Sandbox Code Playgroud)\n

KuK*_*uKu 7

“长度”似乎有拼写错误。我认为“长度”是正确的。