如何解决MappedListIterable 不是 List 类型的子类型
我是 Flutter 的新手,我正在尝试开发一个应用程序,该应用程序从我的 api 动态获取数据到数据表。我尝试了很多方法,但我没有更进一步。我的错误是:
type 'MappedListIterable<Items,DaTarow>' is not a subtype of type 'List<DaTarow>'
我寻找了不同的解决方案,主要是想出了我应该把它变成一个列表的解决方案。但我已经这样做了。这是我的 _getItems 方法。它在 initState 中被调用。该方法位于dataTable.dart
_getItems() {
API.getItems().then((response) {
setState(() {
Iterable list = json.decode(response.body);
logger.d(list);
items = list.map((model) => Items.fromJson(model)).toList();
logger.d(items);
});
});
}
这是我的 apicall,位于文件 apiCall.dart
const baseUrl = "http://robopi:5001";
class API {
static Future getItems() {
var url = baseUrl + "/store";
return http.get(url);
}
}
这是我的 Items.dart
class Items {
String anzahl;
String name;
var logger = Logger();
Items(String anzahl,String name) {
this.anzahl = anzahl;
this.name = name;
}
Items.fromJson(Map json)
: anzahl = json.values.toString(),name = json.keys.toString();
Map toJson() {
return {'anzahl': anzahl,'name': name};
}
}
这是我的数据表,也在 dataTable.dart 文件中
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: DataTable(
columns: [
DataColumn(label: Text("Anzahl")),DataColumn(label: Text("Name")),DataColumn(label: Text("Delete?")),],rows: items.map((item) => DaTarow(cells: [
DataCell(Text(item.anzahl)),DataCell(Text(item.name)),DataCell(IconButton(
icon: Icon(Icons.delete),onpressed: () {},))
])),));
}
这是我的 API 答案
[
{
"Python Buch": 1,"Wasser": 1
}
]
如果您有解决方案,最好能解释一下。 谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。