簡體   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