我有以下代码
if (myCart?.cart?.cartDetails != null &&
myCart?.cart?.cartDetails!
.indexWhere((element) => element.productId == productId) >=
0) {
return true;
}
此代码在 ">=" 部分出现错误,表示它可以为空。 我该如何解决这个问题?
答案 0 :(得分:2)
indexWhere
在您的情况下可以返回 null,并且 >=
运算符不能与 null 值一起使用。试试下面的代码:
final index = myCart?.cart?.cartDetails
?.indexWhere((element) => element.productId == productId);
if (index != null && index >= 0) {
return true;
}
答案 1 :(得分:0)
我认为这是因为 element.productId 可以为 null。 你能试试 element.productId 吗! == productId 还是 element.productId? == 产品 ID