【问题标题】:How to push/insert key value pair list into a list in dart/flutter?如何将键值对列表推送/插入到 dart/flutter 中的列表中?
【发布时间】:2019-11-21 02:05:18
【问题描述】:

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

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

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    你需要初始化你的列表

    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);
    

    【讨论】:

    • 感谢您的快速回答,如果不定义产品类,我不能这样做吗?
    • @Mikethetechy 这不是强制性的,但如果你打算在你的应用程序中使用该 List,使用 Product 类可能会让你避免使用 dynamic 类型时犯的错误。
    • @Mikethetechy 使用 List 继续 :)
    • 不是强制性的?所以我可以将List &lt;Product&gt; 定义为产品类型,而实际上没有产品类?
    • @Mikethetechy 我的意思是你可以继续使用List,它与List&lt;dynamic&gt; 相同。不是强制性的,因为您可以继续使用dynamic。请小心使用它。另外,如果你选择了类的方式,Dart 编译器和未来你会很高兴:) 如果有帮助记得关闭问题。
    猜你喜欢
    • 2020-10-28
    • 2020-10-03
    • 2021-11-23
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 2014-04-29
    相关资源
    最近更新 更多