لدي مشكلة في كود فلاتر لحساب السعر الإجمالي لجميع المنتجات التي اشتراها العميل في تطبيقي وعندما اشتراها إذا كان يريد رؤية منتجاته ، فيجب أن تكون في عربة التسوق ، هذا هو الكود الخاص بي
لعدد المنتجات:
import 'package:flutter/material.dart';
class PanierCompte extends StatefulWidget {
@override
_PanierCompteState createState() => _PanierCompteState();
}
class _PanierCompteState extends State<PanierCompte> {
int numItem = 1;
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 20),
child: Row(
children: <Widget>[
buildOutLineButton(
icon: Icons.remove_circle_outline_outlined,
press: () {
if (numItem > 0) {
setState(() {
numItem--;
});
}
}
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0/2),
child: Text(
numItem.toString().padLeft(2,"0"),
style: Theme.of(context).textTheme.headline6,
),
),
buildOutLineButton(
icon: Icons.add_circle_outline_outlined,
press: () {
setState(() {
numItem++;
});
},
),
],
),
);
}
SizedBox buildOutLineButton({IconData icon, Function press}){
return SizedBox(
width: 40,
height: 32,
child: OutlineButton(
padding: EdgeInsets.zero,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(14)),
onPressed: press,
child: Icon(icon),
),
);
}
}
لزر أضف إلى عربة التسوق:
import 'package:bec_restau/Norriture.dart';
import 'package:bec_restau/Panier.dart';
import 'package:flutter/material.dart';
import 'PanierCompte.dart';
class AddToCart extends StatefulWidget {
@override
_AddToCartState createState() => _AddToCartState();
}
class _AddToCartState extends State<AddToCart> {
Norriture foo;
PanierCompte numItem;
double PrixTotal;
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 50),
child: Row(
children: <Widget>[
Container(
margin: EdgeInsets.only(right: 20.0),
height: 50,
width: 58,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular((20)),
border: Border.all(color: Colors.indigo),
),
child: IconButton(
icon: Icon(Icons.add_shopping_cart,color:Colors.indigoAccent),
onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => Panier())),
),
),
Expanded(
child: SizedBox(
height: 50,
child: FlatButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(18),
),
color: Colors.indigo,
onPressed: (){},
child: Text('Ajouter au panier'.toUpperCase(),
style: TextStyle(
fontSize: 17,
fontWeight: FontWeight.bold,
)),
)
),
)
],
),
);
}
}