在 List 中创建 List 的第一个元素 - Flutter、Dart
Posted
技术标签:
【中文标题】在 List 中创建 List 的第一个元素 - Flutter、Dart【英文标题】:Create first Element of List in 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()
感谢您的帮助!
【问题讨论】:
【参考方案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';
我希望这可以帮助:)
【讨论】:
以上是关于在 List 中创建 List 的第一个元素 - Flutter、Dart的主要内容,如果未能解决你的问题,请参考以下文章
为啥 toList() 在 Dart 中创建一个 List<dynamic>?