flutter - Flutter:将响应数据放入下拉列表中
问题描述
我有一个应用程序,我想将我从 json 收到的数据(我在放入下拉列表之前收到,所以不需要使用未来)放在下拉列表中,但我不能让它工作。
这是我在开始时运行并从 json 接收数据的函数:
Future loadEmployees() async {
Response response;
Dio dio = new Dio();
String url = 'http://192.168.15.5:8090/api/employees';
response = await dio.post(url);
EmployeessList employeesList =
EmployeesList.fromJson(response.data);
}
所以数据存储在employeesList 中,但是如何在下拉项目中显示呢?
也许使用 for 来运行所有员工并发送到列表?我真的不知道,我已经尝试了几天,但仍然无法做到。
这是我的 PODO 对象类:
class EmployeesList {
final List<Employees> employees;
EmployeesList({
this.employees,
});
factory EmployeesList.fromJson(List<dynamic> parsedJson) {
List<Employees> employees= new List<Employees>();
employees= parsedJson.map((i) => Employees.fromJson(i)).toList();
return new EmployeesList(
Employees: employees,
);
}
}
class Employees{
final int code;
final String name;
Employees({this.code, this.name});
factory Employees.fromJson(Map<String, dynamic> json) {
return new Employees(code: json['Codigo'], name: json['Nome']);
}
}
解决方案
您可以映射实体列表。例如:
return DropdownButton<Employee>(
items: employeesList.map((employee) {
return DropdownMenuItem<Employee>(
value: employee,
child: Text(employee.name),
);
}).toList(),
);
推荐阅读
- api - 如何检测 API 请求何时要求 Chrome 中的基本身份验证?
- drupal - 如何访问页面内的视图字段--%.html.twig
- javascript - 预加载图像和字体与代码拆分冲突
- php - 502 nginx bad gateway,但仅在不打印数组时
- jquery - 结合 jquery each() 和 change()
- python - 如何定义 isinstance() 的类
- php - .env 文件中的邮件配置设置更改在 Laravel 8 中未生效
- excel - 如图所示,从时间表注释中,我需要在工作天数列中提供输出。有人可以帮帮我吗
- python - re 模块中的索引值不一致
- html - 如何执行html模板