【问题标题】:Is it Possible to have common showModalBottomSheet for multiple pages in flutter是否有可能在颤动中为多个页面提供共同的 showModalBottomSheet
【发布时间】:2022-01-27 07:36:08
【问题描述】:

我想将底部工作表作为一个单独的功能,但在任何地方都找不到如何实现它。 Everywhere Bottom Sheet 是作为一个函数添加的,但是是否可以将 Bottom Sheet 作为一个通用函数,以便我可以在其他地方重用它?

【问题讨论】:

  • 是的,有可能吗?能否包含您尝试过并遇到问题的 sn-p?
  • 感谢@YeasinSheikh 的回复,它现在的工作实际上是 JSON 数据的问题,

标签: flutter dart flutter-showmodalbottomsheet


【解决方案1】:

要使用常见的showModalBottomSheet,您需要传递当前的context 喜欢

void appModalBottomSheet(BuildContext context) {
  showModalBottomSheet(
    context: context,
    builder: (context) {
      return Text("Common bottomSheet");
    },
  );
}

更多关于showModalBottomSheet

【讨论】:

    【解决方案2】:

    是的。您可以创建常见的 showModalBottomSheet 并将参数添加为您的视图的子项

     ///
     /// Show app modal bottomsheet
     ///
     Future<T?> showAppModalBottomSheet<T>({
       required BuildContext context,
       required Widget child,
       bool? isScrollControlled,
       ShapeBorder? shape,
       bool isDismissible = true,
     }) {
       return showModalBottomSheet<T>(
         isDismissible: isDismissible,
         context: context,
         elevation: AppConstants.modalElevation,
         barrierColor: AppColors.barrierColor,
         isScrollControlled: isScrollControlled ?? true,
         enableDrag: true,
         backgroundColor: AppColors.modalColor.ofContext(_context),
         shape: shape ?? AppConstants.modalShapeBorder,
         builder: (BuildContext context) {
           return child;
         },
       );
     }
    

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      相关资源
      最近更新 更多