📅  最后修改于: 2023-12-03 15:32:48.160000             🧑  作者: Mango
mainBottomSheet
关闭长笛 - DartmainBottomSheet
是一种用于创建底部滑动面板的Flutter Widget,这个面板可以用于显示一些与主视图相关的附加信息或操作,比如显示一些选项、弹出菜单等。
在某些情况下,当用户完成了某个操作或触发了某个事件后,我们需要关闭 mainBottomSheet
,这篇文章将介绍如何在Dart中关闭 mainBottomSheet
。
要关闭 mainBottomSheet
,我们需要使用 Navigator.pop()
方法。这个方法可以将 mainBottomSheet
从当前Navigator
中移除。
下面是一个简单的例子,演示了如何使用 Navigator.pop()
来关闭标题为 “选项” 的 mainBottomSheet
:
VoidCallback _closeBottomSheetCallback(BuildContext context) {
return () {
Navigator.pop(context);
};
}
void _showBottomSheet(BuildContext context) {
// 显示 bottom sheet
showModalBottomSheet(
context: context,
builder: (BuildContext context) {
return BottomSheet(
title: Text('选项'),
onClosing: _closeBottomSheetCallback(context),
builder: (BuildContext context) {
return Container(
child: Text('这里是底部滑动面板'),
padding: EdgeInsets.all(20.0),
);
},
);
});
}
在这个例子中,我们创建了一个名为 _closeBottomSheetCallback
的函数,它返回一个无参数函数。这个函数的目的是构建一个在点击面板外部区域时自动关闭 mainBottomSheet
的回调函数。
现在,我们可以在 mainBottomSheet
的构造函数中作为 onClosing
参数传入它,这将确保在用户点击面板外部时,mainBottomSheet
会自动关闭。
接下来,在合适的时间(比如用户完成了某个操作)触发 _closeBottomSheetCallback
函数,调用 Navigator.pop(context)
来关闭 mainBottomSheet
。
在Dart中,我们可以使用 Navigator.pop()
来关闭 mainBottomSheet
。我们需要创建一个回调函数,将它作为参数传递给mainBottomSheet
的 onClosing
参数中。在适当的时候,调用这个回调函数就可以关闭 mainBottomSheet
。