【发布时间】:2022-07-19 15:09:00
【问题描述】:
我遇到了这个关于 null 安全性的错误,我无法解决它
HomeModel? homeModel;
Map<int, bool> favorites = {};
void getHomeData() {
emit(ShopLoadingHomeDataState());
DioHelper.getData(
url: HOME,
token: token,
).then((value) {
homeModel = HomeModel.fromJson(value?.data);
printFullText(homeModel!.data!.banners[0].image!);
print(homeModel?.status);
homeModel!.data!.products.forEach((element) {
favorites.addAll({
element.id! : element.inFavorites!,
});
});
emit(ShopSuccessHomeDataState());
});
这里出现错误
backgroundColor: ShopCubit.get(context).favorites[model.id] ? defaultColor : Colors.grey ,
然后说:“可以为空的表达式不能用作条件。 在将其用作条件之前,请尝试检查该值是否不为 'null'。"
请帮帮我
【问题讨论】:
-
ShopCubit.get(context).favorites[model.id] 我猜可能在某个时候返回 null,这不是布尔值。您可以将其改写为 (ShopCubit.get(context).favorites[model.id] ?? false) 来修复它? ... : ...
标签: flutter dart dart-null-safety