【问题标题】:Flutter dialog not closing completely颤振对话框未完全关闭
【发布时间】:2020-02-06 18:45:21
【问题描述】:

我们有一个 Flutter 对话框,当我们单击 Ok 时,它会将用户送回家......即使在将用户送回家后,该对话框也会在屏幕上徘徊,然后消失,这很烦人。

这是对话框的代码:

 Future<void> _requestSupportDialog(BuildContext context, User user, Features features) {
    return showDialog<void>(
    context: context,
    builder: (BuildContext context) {
    return AlertDialog(
    title: Text('Success! You have been entered into the support queue'),
    content: const Text('Support it on its way'),
    actions: <Widget>[
      FlatButton(
        child: Text('Ok'),
        onPressed: () {
          // Send them HOME.
          Navigator.of(context).push(new MaterialPageRoute(builder: (BuildContext context) => new FlutterReduxApp(user: user, features: features)));
         },
        ),
      ],
    );
  },
);
}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:
    Navigator.of(context, rootNavigator: true).pop();
    Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (BuildContext context)=>Home(son: 0,)));
    

    【讨论】:

    • 请不要只回答代码。请注意,您不仅要回答 OP,还要回答该问题的任何未来读者。因此,请编辑帖子以包含对这行代码为何起作用的解释。
    【解决方案2】:

    在推送到新路由之前,尝试先弹出以关闭对话框。

    Navigator.of(context).pop()
    

    【讨论】:

      【解决方案3】:

      Navigator.of(context, rootNavigator: true).pop();

      Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (BuildContext context)=>Home(son: 0,)));

      【讨论】:

        猜你喜欢
        • 2020-06-02
        • 1970-01-01
        • 2018-11-13
        • 1970-01-01
        • 2020-05-02
        • 1970-01-01
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        相关资源
        最近更新 更多