Curso App restaurant con pedidos en Flutter
Cómo Agregar Ítems al Carrito de Compra en Flutter: Implementación Práctica para Aplicaciones de Restaurante
Descubre cómo implementar la funcionalidad de agregar ítems al carrito de compra en tu aplicación de restaurante utilizando Flutter. En esta lección, aprenderás a utilizar el patrón Provider para gestionar el estado del carrito de manera eficiente.
En esta lección, aprenderás a implementar la funcionalidad de agregar un ítem al carrito de compras en tu aplicación de restaurante en Flutter. Utilizaremos el patrón de diseño Provider para gestionar el estado del carrito.
Para agregar un ítem al carrito, utilizamos un IconButton
que, al ser presionado, ejecutará el código correspondiente para añadir el producto. Aquí está el código que implementa esta funcionalidad:
dart
child: IconButton(
onPressed: () {
// Crear el ítem del carrito
final cartItem = Cart(
id: items[index].id,
name: items[index].name,
price: items[index].price,
image: items[index].image
);
// Agregar el ítem al carrito utilizando el CartProvider
Provider.of<CartProvider>(context, listen: false).addItem(cartItem);
// Mostrar un mensaje de confirmación
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text("${items[index].name} agregado al carrito!"),
duration: const Duration(seconds: 2),
)
);
},
icon: Icon(Icons.add_shopping_cart),
)
IconButton
: Este widget crea un botón que muestra un icono. En este caso, se utiliza el icono de un carrito de compras (Icons.add_shopping_cart
).
onPressed
: Este es un callback que se ejecuta cuando el botón es presionado. Aquí es donde se implementa la lógica para agregar el ítem al carrito.
dart
final cartItem = Cart(
id: items[index].id,
name: items[index].name,
price: items[index].price,
image: items[index].image
);
Cart
con los detalles del ítem seleccionado. items[index]
hace referencia al ítem que el usuario desea agregar.dart
Provider.of<CartProvider>(context, listen: false).addItem(cartItem);
Provider
para acceder al CartProvider
y llamamos al método addItem
, pasando el nuevo ítem del carrito.dart
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text("${items[index].name} agregado al carrito!"),
duration: const Duration(seconds: 2),
)
);
ScaffoldMessenger
para mostrar un SnackBar
, que informa al usuario que el ítem ha sido agregado al carrito. Este mensaje desaparece automáticamente después de 2 segundos.
4636 visitas
« Capítulo 9 – Mostrar la lista de items del menú
Capítulo 11 – Carrito de Compra: Icono de notificación »
Descarga el código fuente del proyecto adquiriendo el curso completo
ComprarExamen de conocimientos
© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024