可以。定义一个共用的 showModalBottomSheet 函数,用 child 参数传入你想显示的视图
///
/// Open the shared modal sheet
///
Future<R?> openSharedModal<R>({
required BuildContext pageContext,
required Widget content,
bool? scrollControlled,
ShapeBorder? borderShape,
bool dismissible = true,
}) {
return showModalBottomSheet<R>(
isDismissible: dismissible,
context: pageContext,
elevation: SheetSettings.elevation,
barrierColor: SheetPalette.barrier,
isScrollControlled: scrollControlled ?? true,
enableDrag: true,
backgroundColor: SheetPalette.modal.ofContext(_pageContext),
shape: borderShape ?? SheetSettings.borderShape,
builder: (BuildContext sheetContext) {
return content;
},
);
}
从英语翻译·查看原文Yes. Define a shared showModalBottomSheet function, with a child parameter carrying the view you want
///
/// Open the shared modal sheet
///
Future<R?> openSharedModal<R>({
required BuildContext pageContext,
required Widget content,
bool? scrollControlled,
ShapeBorder? borderShape,
bool dismissible = true,
}) {
return showModalBottomSheet<R>(
isDismissible: dismissible,
context: pageContext,
elevation: SheetSettings.elevation,
barrierColor: SheetPalette.barrier,
isScrollControlled: scrollControlled ?? true,
enableDrag: true,
backgroundColor: SheetPalette.modal.ofContext(_pageContext),
shape: borderShape ?? SheetSettings.borderShape,
builder: (BuildContext sheetContext) {
return content;
},
);
}