下面是我的模型类类别
List<Categories> categoriesFromJson(String str) => List<Categories>.from(json.decode(str).map((x) => Categories.fromJson(x)));
String categoriesToJson(List<Categories> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class Categories {
Categories({
this.id,
this.name,
this.parentId,
this.slug,
this.position,
this.status,
});
int id;
String name;
int parentId;
String slug;
int position;
int status;
factory Categories.fromJson(Map<String, dynamic> json) => Categories(
id: json["id"],
name: json["name"],
parentId: json["parent_id"],
slug: json["slug"],
position: json["position"],
status: json["status"],
);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"parent_id": parentId,
"slug": slug,
"position": position,
"status": status,
};
}我的apiServices
static Future<List<Categories>> fetchCategories() async {
String url = "/categories/all";
var response = await http.get(BASE_URL + url);
if(response.statusCode == 200) {
return categoriesFromJson(response.body).toList();
} else {
return null;
}
}我的控制器中的api调用函数
var categoryNames = <Categories>[].obs;
void fetchCategories() async {
try{
isLoading(true);
var res = await ApiServices.fetchCategories();
if(res !=null){
categoryNames.addAll(res);
}
}finally{
isLoading(false);
}
}在控制器中,当categoryNames.addAll中的res (Res)下划线为红色时,会显示以上错误信息。当我对apiService的categoryNews和fetchCategories()使用相同的类型时,为什么会出现这个错误。任何帮助都将不胜感激。

发布于 2021-05-03 18:17:29
尝试像这样显式地定义类型
List<Categories> categoryNames = [];还要确保从.map()返回一个列表并将.toList()添加到末尾
https://stackoverflow.com/questions/67366924
复制相似问题