如何在Flutter中删除警报对话框

Vaibhav Pathak

验证OTP后,我创建了一个用于OTP验证的警报对话框,我将其关闭,然后又创建了另一个对话框以进行数据处理...然后关闭它。

结果:-通过调用OTP验证后,第一个OTP对话框关闭Navigator.of(context).pop();,然后弹出第二个对话框,但调用后并没有关闭Navigator.of(context).pop();

我想做的事:

  1. 验证OTP后关闭OTP对话框(Works)
  2. 打开进度对话框(Works)
  3. 将配置文件上传到Firebase存储中后将其关闭(无效)

请帮我解决这个问题。

提前致谢 !

疯狂的懒猫

您可能会忘记await代码中的某个地方。

尝试这个,

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  TextEditingController _otpCtrl = TextEditingController();

  void dispose() {
    _otpCtrl.dispose();
    super.dispose();
  }

  Future<void> _verifyOTP() async {
    final String otp = await _inputOtp();
    String otpValidationError;
    if (otp != null) otpValidationError = await _sendOtpVerifyRequest();
    print(otpValidationError);
  }

  Future<String> _sendOtpVerifyRequest() async {
    showDialog(
      context: context,
      builder: (context) {
        return Center(child: CircularProgressIndicator());
      },
    );
    await Future.delayed(Duration(seconds: 2)); //TODO: Do post request here
    Navigator.pop(context);
    return null;
  }

  Future<String> _inputOtp() async {
    final flag = await showDialog<bool>(
      context: context,
      builder: (context) {
        return AlertDialog(
          title: Text("Enter OTP"),
          content: TextField(
            controller: _otpCtrl,
            decoration: InputDecoration(
              hintText: "x x x x x x",
            ),
          ),
          actions: <Widget>[
            FlatButton(
              child: Text("Cancel"),
              onPressed: () {
                Navigator.pop(context, false);
              },
            ),
            FlatButton(
              child: Text("Confirm"),
              onPressed: () {
                Navigator.pop(context, true);
              },
            ),
          ],
        );
      },
    );
    if (flag == true)
      return _otpCtrl.text;
    else
      return null;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: RaisedButton(
          onPressed: _verifyOTP,
          child: Text("Click Here"),
        ),
      ),
    );
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Flutter中关闭警报对话框?

来自分类Dev

如何在FLUTTER中关闭没有按钮的警报对话框

来自分类Dev

如何在Flutter中创建多页警报对话框?

来自分类Dev

如何在继承的类中调用“警报对话框”

来自分类Dev

如何在警报对话框中获取列表?

来自分类Dev

我如何在android中创建警报对话框

来自分类Dev

如何在LXDE中删除运行对话框

来自分类Dev

如何删除警报对话框标题栏

来自分类Dev

从甜蜜警报对话框 Android 中删除“确定”按钮

来自分类Dev

从警报对话框中删除黑色背景 - Android

来自分类Dev

如何在Android的警报对话框中验证文本框

来自分类Dev

在自定义对话框中删除警报对话框边框

来自分类Dev

如何使用警报对话框删除sqlite listview android中的项目

来自分类Dev

如何在警报对话框与片段之间进行通信?

来自分类Dev

如何在“警报”对话框中的EditText的dp中设置左右边距

来自分类Dev

如何在Android中的片段中创建是/否警报对话框

来自分类Dev

如何在警报对话框中更改内容文本的颜色

来自分类Dev

如果目标操作失败,如何在按钮中显示警报对话框

来自分类Dev

如何在Android中创建自定义警报对话框?

来自分类Dev

如何在“警报对话框生成器”中居中显示文本?

来自分类Dev

如何在活动内的“警报生成器”对话框中填充单选组?

来自分类Dev

如何在警报对话框中自定义颜色或突出显示PositiveButton和NegativeButton

来自分类Dev

如何在应用程序android中的任何活动之上显示警报对话框

来自分类Dev

单击时如何在单独的警报对话框中缩放地图片段

来自分类Dev

如果目标操作失败,如何在按钮中显示警报对话框

来自分类Dev

如何在对话框警报中添加多个文本视图和EditText

来自分类Dev

Android-如何在自定义警报对话框中检查按钮单击?

来自分类Dev

如何在应用程序android中的任何活动之上显示警报对话框

来自分类Dev

如何在另一个活动中打开警报对话框

Related 相关文章

  1. 1

    如何在Flutter中关闭警报对话框?

  2. 2

    如何在FLUTTER中关闭没有按钮的警报对话框

  3. 3

    如何在Flutter中创建多页警报对话框?

  4. 4

    如何在继承的类中调用“警报对话框”

  5. 5

    如何在警报对话框中获取列表?

  6. 6

    我如何在android中创建警报对话框

  7. 7

    如何在LXDE中删除运行对话框

  8. 8

    如何删除警报对话框标题栏

  9. 9

    从甜蜜警报对话框 Android 中删除“确定”按钮

  10. 10

    从警报对话框中删除黑色背景 - Android

  11. 11

    如何在Android的警报对话框中验证文本框

  12. 12

    在自定义对话框中删除警报对话框边框

  13. 13

    如何使用警报对话框删除sqlite listview android中的项目

  14. 14

    如何在警报对话框与片段之间进行通信?

  15. 15

    如何在“警报”对话框中的EditText的dp中设置左右边距

  16. 16

    如何在Android中的片段中创建是/否警报对话框

  17. 17

    如何在警报对话框中更改内容文本的颜色

  18. 18

    如果目标操作失败,如何在按钮中显示警报对话框

  19. 19

    如何在Android中创建自定义警报对话框?

  20. 20

    如何在“警报对话框生成器”中居中显示文本?

  21. 21

    如何在活动内的“警报生成器”对话框中填充单选组?

  22. 22

    如何在警报对话框中自定义颜色或突出显示PositiveButton和NegativeButton

  23. 23

    如何在应用程序android中的任何活动之上显示警报对话框

  24. 24

    单击时如何在单独的警报对话框中缩放地图片段

  25. 25

    如果目标操作失败,如何在按钮中显示警报对话框

  26. 26

    如何在对话框警报中添加多个文本视图和EditText

  27. 27

    Android-如何在自定义警报对话框中检查按钮单击?

  28. 28

    如何在应用程序android中的任何活动之上显示警报对话框

  29. 29

    如何在另一个活动中打开警报对话框

热门标签

归档