【发布时间】:2019-10-26 04:17:09
【问题描述】:
我是从 Dart 和 Flutter 开始的。我已经掌握了一些窍门。但有一件事阻碍了我。这让我有点困惑。
考虑到这个要点https://gist.github.com/MichelDiz/9af4e74f2a8c83cdb592257678e1cf71
问题是,我需要基于要点中的 JSON 创建小部件。这个 JSON 与“常见”的有点不同(所以我在互联网上找不到类似的例子)。它是对象树而不是地图。但是,我需要映射以动态创建小部件。而且似乎课程不适合。而且我没有太多为 JSON 文件创建复杂类的经验。
我使用https://app.quicktype.io/ 创建了基础类。
所以下面这段代码是我的阻塞:
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
...(resp.groups as List<Group>).map((group) {
//print(group);
return GroupBody();
})//.toList()
// GroupBody(),
// GroupBody(),
],
));
还有错误
flutter: The following _CastError was thrown building StreamBuilder<StateResponse>(dirty, state:
flutter: _StreamBuilderBaseState<StateResponse, AsyncSnapshot<StateResponse>>#21e11):
这是主要错误
flutter: type '_InternalLinkedHashMap<String, Group>' is not a subtype of type 'List<dynamic>' in type cast
我只是为每个“组”和每个“零”创建一堆卡片。在 JSON 中,我有 6 个组和 3 个零。所以6张组卡和3张零卡。
就是这样。
干杯。并感谢您的介意。
PS。此外,如果我切断代码并只输入(data.groups as List).map((group) => print(group));,错误仍然会发生。
【问题讨论】: