【问题标题】:Create first Element of List in List - Flutter, Dart在 List 中创建 List 的第一个元素 - Flutter、Dart
【发布时间】:2020-12-18 00:42:39
【问题描述】:

我在一个列表里面有一个列表,两个都是自定义列表

类价目表

class Pricelist{
      String example;
      List<Categories> categoriesList = []


      Pricelist({this.example, this.categoriesList})


}

类分类

class Categories{
      String name;

      Categories({this.name})
}

添加一个新的价格表非常简单,但是为了添加一个新的 categoriesList 我在 Pricelist 类中创建了这个方法

addCategoryWithParameters(String givenCategoryName) {

        categoriesList.add(Categories(name: givenCategoryName));
}

调用这个方法其实很简单,只需要Pricelist[i].addCategoryWithParameters("Whatever i want")

直到这里实际上一切正常。

我的问题是在列表为空时添加一个新的 categoriesList。

我已经尝试过使用里面已经有元素的 categoriesList 并且它总是运行良好,但是对于一个空列表它只是返回一个错误

我还能用什么来将第一个元素添加到列表中的列表而不是 add()

感谢您的帮助!

【问题讨论】:

    标签: list class flutter dart


    【解决方案1】:

    解决方案是您需要在同一个类中初始化和管理单个对象数据,这将消除很多混乱。 使用空白类别列表初始化价目表。并使用 Pricelist addCategories 中的方法添加类别。

    void main() {
     List<Pricelist> pList = [];
     pList.add(Pricelist(example: 'Example',categoriesList: [])); //initialize 
     Pricelist[0] with empty categoriesList
     print(pList[0].categoriesList.toString());
     pList[0].addCategories('My new cat'); //add categoriesList in Pricelist[0]
     print(pList[0].categoriesList.toString());
    }
    
    class Pricelist{
      String example;
      List<Categories> categoriesList = [];
      Pricelist({this.example, this.categoriesList});
    
    
      void addCategories(String _categories){
        categoriesList.add(Categories(name:_categories));
      }
    }
    
    class Categories{
      String name;
      Categories({this.name});
     }
    

    【讨论】:

      【解决方案2】:
      List<Categories> categoriesList = {Categories(name: 'some Name'};
      

      我希望这可以帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 2019-05-24
        • 2021-02-25
        • 1970-01-01
        • 2023-02-06
        • 2015-10-25
        相关资源
        最近更新 更多