[英]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.