flutter - 使用类参数传递 BlocProvider

标签 flutter dart

在应用程序中的一个类中,我想通过类参数传递 BlocProvider ,例如:

enum MenuItems{
  dashboard,
  tutorials,
  logout
}

class DashboardItems {
  MenuItems menuItem;
  BlocProvider action;

  DashboardItems(
      {
        @required this.menuItem,
        @required this.action
      }
  );
}

action 字段中,我尝试传递此方法:

BlocProvider.of<MyEvent>(context).dispatch(MyEvent(event)))

如:

DashboardItems(
    menuItem: MenuItems.dashboard,
    action:   BlocProvider.of<FragmentBloc>(context).dispatch(FragmentEvent(fragmentHome))),

有什么解决方案可以传递和使用它吗?

最佳答案

看起来您传递的不是函数,而是函数的结果。

DashboardItems(
  menuItem: MenuItems.dashboard,
  // pass function here:
  action: () { BlocProvider.of<FragmentBloc>(context).dispatch(FragmentEvent(fragmentHome));}


class DashboardItems {
  MenuItems menuItem;
  Function action; //Change type from BlocProvider to Function.

  DashboardItems(
      {
        @required this.menuItem,
        @required this.action
      }
  );
}

关于flutter - 使用类参数传递 BlocProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57645045/

相关文章:

dart - Flutter Web 不显示 Material Design 图标

ios - Flutter:该应用程序不是为 iOS 构建的

flutter - 当显示PageView.builder的首页时,如何启动函数?

flutter - 如何安全地将 Intl.numberFormat 反转回原始数字格式

Flutter TextButton 填充

flutter - 如何为 Dart/Flutter 包设置镜像/公司范围的缓存?

dart - 如何在 Dart 中生成一个不包含特定编号的随机数?

dart - 类型 'Future<String>' 不是类型 'String' 的子类型

dart - 带有sendData的HTTPRequest.request似乎无法正常工作

generics - 这个通用类型