参数类型 '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 是可空类型,而 pizzaProductnon-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();
  }
}