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 (将#修改为@)