我正在尝试在屏幕上创建一个包含从远程服务器加载的项目的列表。
\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 ),\nRun Code Online (Sandbox Code Playgroud)\n这里有两个文件:
\n临床API.dart
\nFuture<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}\nRun Code Online (Sandbox Code Playgroud)\n和模型类Clinica.dart
\nimport '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}\nRun Code Online (Sandbox Code Playgroud)\n我的问题是我在行中遇到异常:
\n itemCount: snapshot.data.length,\nRun 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'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4523 次 |
| 最近记录: |