我在一个小部件树中有一个 FloatingActionButton ,它有一个BlocProvider
from flutter_bloc。像这样的东西:
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)
inside访问,TheBottomSheet
但出现以下错误:
BlocProvider.of() called with a context that does not contain a Bloc of type SomeBloc.
我尝试使用https://stackoverflow.com/a/56533611/2457045BottomSheet
中描述的解决方案,但仅适用于ModalBottomSheet
.
注意:这不限于BlocProvider
or flutter_bloc
。提供程序包中的任何提供程序都具有相同的行为。
如何访问BlocProvider.of<SomeBloc>(context)
内部showModalBottomSheet
?
如果无法做到这一点,如何使https://stackoverflow.com/a/56533611/2457045解决方案适应模态底页?