有人可以帮助我如何在单击不同 dart 文件(不同 UI)中的“addToCart”按钮时更新“cart_products.dart”中的列表?硬编码列表正在工作,但我不知道如何动态更新列表。如果有人能用一个简单的例子来演示,对新人来说将是一个很大的帮助。谢谢。
答案 0 :(得分:0)
假设您有一个如下所示的现有列表,
final listItems = [item1,item2,item3];
如果要在其中添加 item4,则需要调用 setState 并在其中添加逻辑,如下所示:
addItemInList(){
setState{
(){
listItems.add(item4);
}
}
}
同样适用于删除和更新。
答案 1 :(得分:0)
使用全局列表项
在您的 main.dart 文件中
ValueNotifier itemsNotifier = ValueNotifier([]);
void main() {
// ...
}
任何地方(不同的 dart 文件)
List _tmpList = itemsNotifier.value;
_tmpList.add(YOUR_ITEM);
itemsNotifier.value = _tmpList;
显示这样的列表项
ValueListenableBuilder(
valueListenable: itemsNotifier,
builder: (context, items, _) {
return ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return ListTile(
title: Text("Item ${index}"),
);
}
);
}
),