gpt4 book ai didi

Flutter showDialog 带有导航键而不是传递上下文

转载 作者:IT王子 更新时间:2023-10-29 07:21:57 27 4
gpt4 key购买 nike

目前,在应用程序的任何代码层显示对话框非常忙,因为必须在其中传递上下文。因此我想通过 navigatorKey.currentContext(Navigator 键是传递给 Material app navigatorKey 参数的全局键)来显示对话框。但是我得到了错误

“使用不包含导航器的上下文请求的导航器操作。用于从导航器推送或弹出路由的上下文必须是作为导航器小部件后代的小部件的上下文。”

问题是 showDialog 在内部调用 Navigator.of(context) 并查找导航器祖先,当然会返回 null,因为导航器本身就是根。因此它不会找到导航器作为祖先。

有没有一种方法可以直接将导航器状态/上下文传递给 showDialog 函数来显示对话框?或者,如果我们想从 bloc 中显示 Dialog,是否有更简单的方法来显示 Dialog 而无需向其传递上下文?

最佳答案

我找到了一个简单的解决方案:

navigatorKey.currentState.overlay.context

我在我保留 navigatorKey 的 redux 中间件中使用它,并且希望在每次我发送特定操作时在应用程序的任何位置全局显示一个对话框。

关于Flutter showDialog 带有导航键而不是传递上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55188620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com