Flutter 如何在dart/Flatter中将键值对列表推送/插入到列表中?

Flutter 如何在dart/Flatter中将键值对列表推送/插入到列表中?,flutter,dart,Flutter,Dart,我有一个列表,我试图在另一个列表中推送,但它不断抛出错误 List Products; for(final i productsFromApi){ var tmpArray = []; tmpArray['name'] = i['name']; tmpArray['price'] = i['price']; tmpArray['quantity'] = i['quantity']; Products.add(tmpArray);

我有一个列表,我试图在另一个列表中推送,但它不断抛出错误

List Products;

for(final i productsFromApi){
      var tmpArray = [];

      tmpArray['name'] = i['name'];
      tmpArray['price'] = i['price'];
      tmpArray['quantity'] = i['quantity'];

      Products.add(tmpArray);
 }

 print('final list of products');
 print(products); // throws an error: add called on null

您需要初始化您的列表

List products = [];

for(final i in productsFromApi){
      var productMap = {
          'name': i['name'],
          'price': i['price'],
          'quantity': i['quantity'],
      }

      products.add(productMap);
 }

 print('final list of products');
 print(products);
你应该考虑输入你的列表,因为如果你不够小心,你的当前代码可能会导致错误。 大概是这样的:

List<Product> products = [];
Product myProduct = Product(name: "Product 1", price: 2.0, quantity: 3);
products.add(myProduct);
列出产品=[];
产品myProduct=产品(名称:“产品1”,价格:2.0,数量:3);
products.add(myProduct);

您需要初始化列表

List products = [];

for(final i in productsFromApi){
      var productMap = {
          'name': i['name'],
          'price': i['price'],
          'quantity': i['quantity'],
      }

      products.add(productMap);
 }

 print('final list of products');
 print(products);
你应该考虑输入你的列表,因为如果你不够小心,你的当前代码可能会导致错误。 大概是这样的:

List<Product> products = [];
Product myProduct = Product(name: "Product 1", price: 2.0, quantity: 3);
products.add(myProduct);
列出产品=[];
产品myProduct=产品(名称:“产品1”,价格:2.0,数量:3);
products.add(myProduct);

谢谢你的快速回答,我能不能在不定义产品类别的情况下完成这项工作?@Mikethetechy这不是强制性的,但如果你打算在你的应用程序中使用该列表,使用产品类可能会避免您在使用
dynamic
类型时犯错误。@Mikethetechy使用列表并继续:)不是强制性的?所以我可以将
List
定义为产品类型,而不实际拥有产品类?@Mikethetechy我的意思是,您可以继续使用与之相同的
List
列表
。不是强制性的,因为您可以自由地继续使用
dynamic
。小心使用它。此外,Dart编译器和未来如果你选择类的方式,你会很高兴:)记住,如果有帮助的话,就结束这个问题。感谢你的快速回答,我能不能在不定义产品类的情况下完成它?@Mikethetechy这不是强制性的,但是如果你打算在你的应用程序中使用这个列表,使用产品类可能会避免您在使用
dynamic
类型时犯错误。@Mikethetechy使用列表并继续:)不是强制性的?所以我可以将
List
定义为产品类型,而不实际拥有产品类?@Mikethetechy我的意思是,您可以继续使用与之相同的
List
列表
。不是强制性的,因为您可以自由地继续使用
dynamic
。小心使用它。此外,Dart编译器和未来如果您选择类的方式,您将很高兴:)记住,如果有帮助,请关闭该问题。