BlocProvider
from 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ソリューションをモーダルボトムシートに適応させる方法は?