[英]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.