使用不包含类型

时间:2020-07-04 15:43:07

标签: flutter bloc flutter-bloc

@override
  Widget build(BuildContext context) {
    return MultiBlocProvider(
    providers: [
         BlocProvider<TripDetailBloc>(create: (BuildContext context) => TripDetailBloc()),
         BlocProvider<PopUpBloc>(create: (BuildContext context) => PopUpBloc()),
               ],
    child: Scaffold(
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {
          BlocProvider.of<TripDetailBloc>(context).add(AddTripDetailPannelEvent());
        },
      ),
      appBar: appbar(),
      body: pannel(),
    )
    );
  }

在处理手势时引发了以下断言:

    在不包含类型为Bloc的上下文中调用的
  • BlocProvider.of() TripDetailBloc。
  • 从传递给的上下文开始找不到祖先 BlocProvider.of <TripDetailBloc>()
  • 如果您使用的上下文来自上方的小部件,则可能会发生这种情况 BlocProvider。
  • 使用的上下文是:TripDetailPage(依赖项:[MediaQuery], 状态:_TripDetailPageState#d4ab3)

2 个答案:

答案 0 :(得分:0)

将脚手架包装在构建器小部件中并使用该上下文。 .of(context)使用的上下文与build(BuildContext context)方法相同,这就是为什么找不到它的原因

答案 1 :(得分:0)

将代码更改为此:

<input id="note0" type="number" min="0" max="1" step="1">

如果您仔细观察,我已将您的Scaffold敲打成小部件生成器。