如何在颤动中进入表单按钮 OnPressed()

Posted

技术标签:

【中文标题】如何在颤动中进入表单按钮 OnPressed()【英文标题】:How to make a get inside a form button OnPressed() in flutter 【发布时间】:2021-08-03 22:53:59 【问题描述】:

我想在表单的 onPressed 函数中进行 get 调用。

我有一个发帖并返回response.body的服务:


    Future<String> getItems() async 
        final response = await http.get(Uri.parse('$baseUrl/edicios'));
        if (response.statusCode == 200) 
          return response.body;
        
    

onPressed 中,我们称该函数为:

    onPressed: () 
      if (_formKey.currentState.validate()) 
        futureString = resource.MyHttpService().getItems();
        print(futureString);
    

我已经阅读了 Flutter 文档来获取和发布,但它令人困惑。如果有人能解释一下它是如何工作的。

【问题讨论】:

【参考方案1】:

由于您的 getItems() 函数是一个未来函数,因此您需要在打印之前等待响应。这也意味着你的 onPressed 函数需要使用 'async' 关键字:

onPressed: () async 
      if (_formKey.currentState.validate()) 
        futureString = await resource.MyHttpService().getItems();
        print(futureString);
    

您可以阅读有关async/await here 的更多信息。

【讨论】:

以上是关于如何在颤动中进入表单按钮 OnPressed()的主要内容,如果未能解决你的问题,请参考以下文章

从第二个屏幕导航回来并刷新页面颤动时关闭 AlertDialog

如何在颤动中显示小吃店消息

如何在颤动中显示带有提交按钮和隐藏输入字段的html表单

创建一个在颤动中创建小部件的按钮[关闭]

5秒后closeWebView - 颤动

如何从自定义操作中进入删除确认状态 UITableViewCell?