BlocProviderfrom flutter_blocを持つウィジェットツリー内に FloatingActionButton があります。このようなもの:
BlocProvider(
builder: (context) {
SomeBloc someBloc = SomeBloc();
someBloc.dispatch(SomeEvent());
return someBloc;
},
child: Scaffold(
body: ...
floatingActionButton: FloatingActionButton(
onPressed: _openFilterSchedule,
child: Icon(Icons.filter_list),
),
)
);
モーダルボトムシートを開きます:
void _openFilterSchedule() {
showModalBottomSheet<void>(
context: context,
builder: (BuildContext context) {
return TheBottomSheet();
},
);
}
内部SomeBlocを使用してアクセスしようとしていますが、次のエラーが発生します。BlocProvider.of<SomeBloc>(context)TheBottomSheet
BlocProvider.of() called with a context that does not contain a Bloc of type SomeBloc.
https://stackoverflow.com/a/56533611/2457045で説明されているソリューションを使用しようとしましたが、 でのみ機能しBottomSheet、 では機能しませんModalBottomSheet。
注: これはBlocProviderまたはに限定されませんflutter_bloc。プロバイダーパッケージのすべてのプロバイダーは、同じ動作をします。
BlocProvider.of<SomeBloc>(context)の内部にアクセスするにはどうすればよいshowModalBottomSheetですか?
それができない場合、https://stackoverflow.com/a/56533611/2457045ソリューションをモーダルボトムシートに適応させる方法は?