gpt4 book ai didi

list - 如何使用Flutter中的列表中循环添加数据

转载 作者:行者123 更新时间:2023-12-03 04:14:05 25 4
gpt4 key购买 nike

我有一个二维列表,我正在使用`添加数据

quotationList.add( [productName.text, double.parse(productPrice.text), _n] );`

输出为:
[[qwe, 555.0, 1], [qwe 1, 5555.0, 2]]

现在我想将此二维列表添加到我的产品列表中,我不知道该怎么做?
我的产品列表如下所示,带有静态数据
final products = <Product>[
Product('1', "random text", 3.99, 2),
Product('2', "random text", 15, 2),
Product('3', "random text", 6.95, 3),
Product('4', "random text", 49.99, 4),
];

我想使用一些循环或类似的东西使其动态
final products = <Product>[
for(int i=0; i<quotationList.length; i++)
{
Product(i.toString(), quotationList[i][0], quotationList[i][1], quotationList[i][2]),
}
];

但是我得到这个错误
The element type 'Set<Product>' can't be assigned to the list type 'Product'.

最佳答案

这是完整的工作代码:

void main() {
List quotationList = List();
quotationList.add(["name1", 10.0, 100]);
quotationList.add(["name2", 10.0, 100]);
quotationList.add(["name3", 10.0, 100]);
quotationList.add(["name4", 10.0, 100]);

List products = quotationList
.asMap()
.map((index, quotation) => MapEntry(
index,
Product(
index,
quotation[0].toString(),
quotation[1],
quotation[2],
)))
.values
.toList();

for (Product p in products) print(p.name);
}

class Product {
final int index;
final String name;
final double price;
final int n;

Product(this.index, this.name, this.price, this.n);
}

希望能帮助到你!

需要从列表到 map 的转换(asMap),因为还需要索引。如果不需要索引,则可以直接在列表上使用map方法。

关于list - 如何使用Flutter中的列表中循环添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61874928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com