我正在使用GetX。我显示了两个对话框。一个在底部,一个在顶部。我想关闭底部的对话框时,我点击了顶部对话框的按钮,怎么做?请看下面的代码:
Get.dialog(
Container(
width: double.infinity,
height: double.infinity,
alignment: Alignment.center,
child: Text("Bottom Dialog")),
name: "dialog1");
Future.delayed(Duration(seconds: 1), () {
Get.dialog(
Container(
width: double.infinity,
height: double.infinity,
alignment: Alignment.topRight,
child: GestureDetector(
onTap: () {
print("close");
Get.removeRoute(GetPageRoute(routeName: "dialog1"));
// Get.key.currentState!.removeRoute(GetPageRoute(routeName: "dialog1"));
},
child: Text("Top Dialog"))),
navigatorKey: Get.key);
});
4条答案
按热度按时间gr8qqesn1#
试试这个
控制器
声明此控制器,其中对话框初始
对话框:
f45qwnt82#
您可以使用以下命令关闭该按钮:
实施为:
l0oc07j23#
同时显示两个对话框不是很好的UI/UX体验。相反,您可以在打开 * 顶部对话框 * 后立即关闭 * 底部对话框 *。
要在 * 顶部对话框 * 关闭时重新打开 * 底部对话框 *,您可以使用
在这种情况下,当
DialogueTwo
关闭时,请确保返回bool值。你可以用
上面的代码片段不需要任何上下文。
确保导入get库
要有更干净的版本的代码只是关闭打开的对话框,那么你可以检查的条件如下:
jpfvwuh44#
它对我有效,让我们检查一下