繁体   English   中英

在列表中创建列表的第一个元素 - Flutter、Dart

[英]Create first Element of List in List - Flutter, Dart

我在列表中有一个列表,都是自定义列表

class 价目表

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


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


}

class 分类

class Categories{
      String name;

      Categories({this.name})
}

添加新的价目表非常简单,但是为了添加新的类别列表,我在 class 价目表中创建了这个方法

addCategoryWithParameters(String givenCategoryName) {

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

调用此方法实际上非常简单,只需Pricelist[i].addCategoryWithParameters("Whatever i want")

到这里为止,实际上一切正常。

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

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

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

谢谢你的帮助 !

List<Categories> categoriesList = {Categories(name: 'some Name')};

我希望这可以帮助:)

解决方案是您需要在同一个 class 中初始化和管理单个 object 数据,这将消除很多混乱。 使用空白 categoriesList 初始化 Pricelist 并使用 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});
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM