繁体   English   中英

将变量传递给flutter中的void函数

[英]Pass variable to void function in flutter

我想将参数从我的Dialouge框(Void函数)传递给另一个void函数,但是会出错

无法分配给参数类型()void flutter

和setState也无法正常工作。

请在这里查看我的代码:

第一个功能

  void _quantity(BuildContext context, productId,quantity){

    setState(() {
      productId = productId;
      quantity = quantity;
      _quantityController.text = '$quantity';
    });
    var alert = new AlertDialog(
     actions: <Widget>[
        FlatButton(
          child: Text("Save"),
          onPressed: _addtoCart(context, productId)
        )
      ],
    );

    showDialog(context: context,builder: (context) => alert);

  }

第二功能:

void _addtoCart(BuildContext context, productId) {
    print("Quantity: $quantity");
    print("productId: $productId");
    print("data: $data");
  }

请点击此处查看截图

在此输入图像描述

更改

onPressed: _addtoCart(context, productId)

onPressed: () => _addtoCart(context, productId)

传递函数,而不是函数调用的结果( _addtoCart()的返回值返回void并产生错误。

如果_addtoCart不接受任何参数,则可以使用较短的形式

onPressed: _addtoCart

但是如果你添加()函数被调用并且传递了返回值而使用() =>你可以再次使它成为函数引用,或者在这种情况下是一个闭包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM