我已经定义了一个链表模型,调用并存储了其中的数据,但是仍然显示错误,它是一个链表
我的代码
class TeamsController with ChangeNotifier {
List<TeamID> teamslist = [];
TeamsController() {
getMyTeams();
}
getMyTeams() async {
var response = await ApiService().getMyCreatedTeams();
if (response != null) {
final databody = json.decode(response);
debugPrint(databody['data'].toString());
teamslist =
databody['data'].map((item) => TeamID.fromJson(item)).toList();
notifyListeners();
}
}
}
它在团队列表上显示_TypeError错误(类型"List"不是类型"List"的子类型)
它的工作,如果我第一次存储在这样的列表
final List list = databody['data'];
teamslist = list.map((item) => TeamID.fromJson(item)).toList();
2条答案
按热度按时间ocebsuys1#
您可以将主列表指定为
List<dynamic>
,如下所示:这是可行的,但如果你想知道类型,那么你可以先检查类型,然后分配类型给它。
之后,您可以将
teamslist
赋给该类型。rlcwz9us2#
您所展示的代码看起来很合理。
如果 *
TeamID.fromJson()
的返回类型是TeamID
,那么Dart的类型推断将按照您所期望的 * 来键入此赋值。因此,请检查您对
TeamID.fromJson()
的定义或在您的问题中发布其代码。(Note,在这种情况下没有使用
dynamic
的令人信服的理由。)