参数类型 'ProductModel?' 无法分配给参数类型 'ProductModel'
The argument type 'ProductModel?' can't be assigned to the parameter type 'ProductModel'
我正在制作一个模型来将产品图片、价格和名称上传到 firebase 然后我遇到了这个错误(参数类型 'ProductModel?' 不能分配给参数类型 'ProductModel'。 )
class ProductProvider with ChangeNotifier {
List<ProductModel> pizzaProductList = [];
ProductModel? productModel;
fatchPizzaproductData() async {
// List<ProductModel> newList = [];
QuerySnapshot value =
await FirebaseFirestore.instance.collection("PizzaProducts").get();
pizzaProductList = value.docs.map((element) {
return ProductModel(
productImage: element.get("productImage"),
productName: element.get("productName"),
productPrice: element.get("productPrice"),
);
}).toList();
}
get getPizzaproductDataList {
return pizzaProductList;
}
}
问题在于 productModel
是可空类型,而 pizzaProduct
是 non-nullable ProductModel
的列表.
与其在 class 上存储 属性 productModel
,不如考虑直接从 value.docs
映射到 pizzaProduct
,并删除存储的中间步骤productModel
中的模型:
class ProductProvider with ChangeNotifier {
List<ProductModel> pizzaProduct = [];
Future<void> fetchPizzaProductData() async {
QuerySnapshot value =
await FirebaseFirestore.instance.collection("PizzaProducts").get();
pizzaProduct = value.docs.map((element) {
return ProductModel(
productImage: element.get("productImage"),
productName: element.get("productName"),
productPrice: element.get("productPrice"),
);
}).toList();
// Since this is a ChangeNotifier, I'm assuming you might want to
// notify listeners when `pizzaProduct` changes. Disregard this line
// if that's not the case.
notifyListeners();
}
}
我正在制作一个模型来将产品图片、价格和名称上传到 firebase 然后我遇到了这个错误(参数类型 'ProductModel?' 不能分配给参数类型 'ProductModel'。 )
class ProductProvider with ChangeNotifier {
List<ProductModel> pizzaProductList = [];
ProductModel? productModel;
fatchPizzaproductData() async {
// List<ProductModel> newList = [];
QuerySnapshot value =
await FirebaseFirestore.instance.collection("PizzaProducts").get();
pizzaProductList = value.docs.map((element) {
return ProductModel(
productImage: element.get("productImage"),
productName: element.get("productName"),
productPrice: element.get("productPrice"),
);
}).toList();
}
get getPizzaproductDataList {
return pizzaProductList;
}
}
问题在于 productModel
是可空类型,而 pizzaProduct
是 non-nullable ProductModel
的列表.
与其在 class 上存储 属性 productModel
,不如考虑直接从 value.docs
映射到 pizzaProduct
,并删除存储的中间步骤productModel
中的模型:
class ProductProvider with ChangeNotifier {
List<ProductModel> pizzaProduct = [];
Future<void> fetchPizzaProductData() async {
QuerySnapshot value =
await FirebaseFirestore.instance.collection("PizzaProducts").get();
pizzaProduct = value.docs.map((element) {
return ProductModel(
productImage: element.get("productImage"),
productName: element.get("productName"),
productPrice: element.get("productPrice"),
);
}).toList();
// Since this is a ChangeNotifier, I'm assuming you might want to
// notify listeners when `pizzaProduct` changes. Disregard this line
// if that's not the case.
notifyListeners();
}
}