Firestore 返回列表<dynamic>而不是列表<String>(颤振)



我有一个用字符串数组设置的firestore数据库。在我的代码中,我有这个:

factory Item.fromMap(Map<String, dynamic> map) {
return Item(
name: map['name'],
imageUrls: map['imageUrls'];

imageUrls是字符串列表。我在谷歌上搜索了如何处理列表,但我认为它应该能够这样处理它?我得到这个错误:

Expected a value of type List<String>, but got one of type List<dynamic>

感谢您的任何输入

您可以尝试以下方法之一来处理类型转换。

imageUrls: List<String>.from(map['imageUrls']),
imageUrls: (map['imageUrls'] as List).map((element) => element as String).toList(),
imageUrls: <String>[...map['imageUrls']],

您必须将映射['imageUrls']投射到List

factory Item.fromMap(Map<String, dynamic> map) {
return Item(
name: map['name'],
imageUrls: (map['imageUrls'] as List)?.map((item) => item as String)?.toList();

相关内容

  • 没有找到相关文章

最新更新