将变量传递给颤振中的void函数
Pass variable to void function in flutter
我想将参数从我的对话框(Void 函数)传递给另一个 void 函数,但出现错误
can't be assigned to the parameter type () 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()
的 return 值 return s void
并产生错误。
如果_addtoCart
不接受任何参数,您可以使用更短的形式
onPressed: _addtoCart
但是如果你添加 ()
函数被调用并且传递 return 值而不是使用 () =>
你可以再次使它成为一个函数引用或者在这种情况下是一个闭包。
我想将参数从我的对话框(Void 函数)传递给另一个 void 函数,但出现错误
can't be assigned to the parameter type () 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()
的 return 值 return s void
并产生错误。
如果_addtoCart
不接受任何参数,您可以使用更短的形式
onPressed: _addtoCart
但是如果你添加 ()
函数被调用并且传递 return 值而不是使用 () =>
你可以再次使它成为一个函数引用或者在这种情况下是一个闭包。