如何在颤振中动态使用“将商品添加到购物车”

时间:2020-12-28 11:08:35

标签: flutter dart flutter-layout

有人可以帮助我如何在单击不同 dart 文件(不同 UI)中的“addToCart”按钮时更新“cart_products.dart”中的列表?硬编码列表正在工作,但我不知道如何动态更新列表。如果有人能用一个简单的例子来演示,对新人来说将是一个很大的帮助。谢谢。

2 个答案:

答案 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}"),
        );
      }
    );
  }
),