如何将产品添加到颤抖中的购物车?

发布于 2025-02-14 02:12:32 字数 444 浏览 0 评论 0原文

我有产品地图列表,我想在ONTAP上将该产品添加到购物车页面。

我有产品地图列表,我想在ONTAP上将该产品添加到购物车页面。

这是我的产品地图

这是我最喜欢的按钮

我想在购物车页面中添加这些产品当用户点击“喜欢的按钮”时..... 在此处输入图像描述

I have the list of map of product and i want to add that product to cart page on ontap .

I have the list of map of product and i want to add that product to cart page on ontap .

This is my map of product

This is my favourite button

I want to add those products in cart page when user tap the favourite button.....
enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

打小就很酷 2025-02-21 02:12:32

使用Flutter shared_preferences package。调用共享preferences为异步函数,以保存数据使用setStringList()

saveCartProducts() async{
 SharedPreferences prefs = await SharedPreferences.getInstance();
 prefs.setStringList("cartProducts", Data);
}

获取保存数据用户getsTringList()函数

getCartProducts() async {
 SharedPreferences prefs = await SharedPreferences.getInstance();
 var cartProducts= prefs.getStringList("cartProducts");
 setState(() {
  listItems = cartProducts;
 });
}

notes:

  1. setStringStringList (“ Cartproducts”,Data); - Cartproducts是保存数据的名称,使用该数据相同获取数据。 data是您的列表< map< string,dynamic>>多变的。
  2. listItems - 将其用作设置数据
  3. 调用getCartProducts() in Initstate()中的变量

Use flutter shared_preferences package. Call SharedPreferences as async function, to save the data use setStringList()

saveCartProducts() async{
 SharedPreferences prefs = await SharedPreferences.getInstance();
 prefs.setStringList("cartProducts", Data);
}

To get save data user getStringList() function

getCartProducts() async {
 SharedPreferences prefs = await SharedPreferences.getInstance();
 var cartProducts= prefs.getStringList("cartProducts");
 setState(() {
  listItems = cartProducts;
 });
}

Notes:

  1. setStringList("cartProducts", Data); - cartProducts is name for to saved data use the same to get data. Data is your List<Map<String, dynamic>> variable.
  2. listItems - use this as a variable to set the data
  3. Call getCartProducts() in initState()
天邊彩虹 2025-02-21 02:12:32

您需要使数据成为对象,存储数据,然后将数据发送到购物车页面。

data.dart

class Data{
  List<Map<String, dynamic>> data = [
    {
     'img': 'Image1',
     'price': '\$ 120',
     'name':  'Headphone',
     'str': 'str1',
     'category': 'Electronics',
    },
    {
      'img': 'Image2',
      'price': '\$ 150',
      'name':  'Gaming Controller',
      'str': 'str1',
      'category': 'Electronics',
    }
  ];
}

在MAIN中创建数据对象后,当您单击购物车图标时,将数据保存在随机列表中。

///create Object
Data data = Data();

List<Map<String, dynamic>> cart = [];

ListView.builder(
          scrollDirection: Axis.horizontal,
          itemCount: items.length,
          itemBuilder: (context, index){
            if(items.isEmpty){
             return Text('no have items');
            }
            ......
            GestureDetector(
                onTap: (){
                   cart.add(data.data[index]);
                 },
              ),
          },
        ),

最后,我们将数据发送到Cartpage。

 Navigator.of(context).push(MaterialPageRoute(builder: (context) => CartPage(cartData: cart),))

另外,您可以使用提供商软件包进行更方便的管理。

You need to make the data an object, store the data, and then send the data to the Cart Page.

data.dart

class Data{
  List<Map<String, dynamic>> data = [
    {
     'img': 'Image1',
     'price': '\$ 120',
     'name':  'Headphone',
     'str': 'str1',
     'category': 'Electronics',
    },
    {
      'img': 'Image2',
      'price': '\$ 150',
      'name':  'Gaming Controller',
      'str': 'str1',
      'category': 'Electronics',
    }
  ];
}

After creating a data object in main, when you click the shopping cart icon, the data is saved in a random list.

///create Object
Data data = Data();

List<Map<String, dynamic>> cart = [];

ListView.builder(
          scrollDirection: Axis.horizontal,
          itemCount: items.length,
          itemBuilder: (context, index){
            if(items.isEmpty){
             return Text('no have items');
            }
            ......
            GestureDetector(
                onTap: (){
                   cart.add(data.data[index]);
                 },
              ),
          },
        ),

Finally, we send the data to the CartPage.

 Navigator.of(context).push(MaterialPageRoute(builder: (context) => CartPage(cartData: cart),))

Alternatively, you can use the Provider package for more convenient management.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文