Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何检查产品是否已添加到篮子中_Flutter_Controller - Fatal编程技术网

Flutter 如何检查产品是否已添加到篮子中

Flutter 如何检查产品是否已添加到篮子中,flutter,controller,Flutter,Controller,我正在尝试检查产品是否已经添加到购物篮中,并使用snackbar显示信息“此产品已添加”。因此,用户不能再次将同一产品添加到购物车 这是我的密码: //Button calling controller adding item to cart InkWell( onTap:(){ _con.addItemToCart(_con.product); }); //Controller adding item to cart Future addItemToCart(Product

我正在尝试检查产品是否已经添加到购物篮中,并使用snackbar显示信息“此产品已添加”。因此,用户不能再次将同一产品添加到购物车

这是我的密码:

//Button calling controller adding item to cart
InkWell(
  onTap:(){
   _con.addItemToCart(_con.product);
});


//Controller adding item to cart 
  Future addItemToCart(Product product, {bool reset = false}) async {
    setState(() {
      this.loadCart = true;
    });
    Cart value =
        await addToCart(product, scaffoldKey, context, quantity: quantity);
    setState(() {
      this.cart = value;
      this.loadCart = false;
      this.totalProductsInStock = this.product.availability;
      this.totalProductsInStock -= this.totalProductsInStock - this.quantity ;
    });
  }


 Future<Cart> addToCart(Product product, GlobalKey<ScaffoldState> scaffoldKey, BuildContext buildContext, {bool reset = false, int quantity = 1}) async {
      var _cartPoduct = new CartProduct();
      _cartPoduct.productId = product.id;
      _cartPoduct.optionId = product.optionId;
      _cartPoduct.quantity = quantity;
      Cart value = await CartRepository.addCart(_cartPoduct, reset);
      return value;
    }


//Request
  static Future<Cart> addCart(CartProduct cartProduct, bool reset) async {
    User _user = userRepo.currentUser.value;
    if (_user.apiToken == null) {
      return new Cart();
    }
    Map<String, dynamic> decodedJSON = {};
    cartProduct.userId = _user.id;
    final String url =
        '${GlobalConfiguration().getString('api_base_url')}';
    final client = new http.Client();
    final response = await client
        .get(url, headers: {HttpHeaders.contentTypeHeader: 'application/json'});
    try {
      decodedJSON = json.decode(response.body)['data'] as Map<String, dynamic>;
    } on FormatException catch (e) {
    }
    return Cart.fromJSON(decodedJSON);
  }
//按钮调用控制器将项目添加到购物车
墨水池(
onTap:(){
_合同附件(合同产品);
});
//控制器将项目添加到购物车
Future addItemToCart(产品产品,{bool reset=false})异步{
设置状态(){
this.loadCart=true;
});
购物车价值=
等待添加零件(产品、脚手架钥匙、上下文、数量:数量);
设置状态(){
this.cart=价值;
this.loadCart=false;
this.totalProductsInStock=this.product.availability;
this.totalProductsInStock-=this.totalProductsInStock-this.quantity;
});
}
Future addToCart(Product-Product、GlobalKey-scaffoldKey、BuildContext-BuildContext、{bool reset=false、int-quantity=1})异步{
var_cartPoduct=新CartProduct();
_cartPoduct.productId=product.id;
_cartPoduct.optionId=product.optionId;
_cartPoduct.quantity=数量;
购物车值=等待CartRepository.addCart(_cartPoduct,reset);
返回值;
}
//请求
静态未来addCart(CartProduct CartProduct,bool reset)异步{
用户_User=userRepo.currentUser.value;
if(_user.apiToken==null){
返回新购物车();
}
Map decodedJSON={};
cartProduct.userId=\u user.id;
最终字符串url=
“${GlobalConfiguration().getString('api_base_url')}”;
final client=new http.client();
最终响应=等待客户
.get(url,标题:{HttpHeaders.contentTypeHeader:'application/json'});
试一试{
decodedJSON=json.decode(response.body)['data']作为映射;
}关于格式化异常捕获(e){
}
返回Cart.fromJSON(decodedJSON);
}