在我的Flutter应用程序中,我有这个ChangeNotifier
提供程序。在主页上创建了一个ChangeNotifier
。
ChangeNotifierProvider<UserTeam>(create: (_) => UserTeam()),
我正在使用下面的代码在按下按钮时设置此提供程序的值。
late UserTeam _userTeam;
_userTeam = Provider.of<UserTeam>(context);
UserTeam _userTeam = UserTeam(userDetails: test, pageDetails: 3);
_userTeam.setUserTeam(_userTeam);
我将此ChangeNotifier
提供程序传递到最下面的页。
showModalBottomSheet<dynamic>(
isScrollControlled: true,
shape: const RoundedRectangleBorder(borderRadius: BorderRadius.only(topLeft: Radius.circular(30), topRight: Radius.circular(30))),
backgroundColor: const Color(0xFFFFFFFF),
context: context,
builder: (BuildContext context2) {
return BlocProvider.value(
value: BlocProvider.of<AuthenticationBloc>(context),
child: BlocProvider.value(
value: BlocProvider.of<AuthBloc>(context),
child: MultiProvider(
providers: [
ChangeNotifierProvider<UserTeam?>(create: (_) => _userTeam),
],
child: StatefulBuilder(builder: (BuildContext context, StateSetter mystate) {
return SingleChildScrollView(
child: SizedBox(
height: MediaQuery.of(context).size.height - 50,
width: MediaQuery.of(context).size.width,
child: const teamSearch(),
),
);
}),
),
),
);
});
首次打开底部模型页时,ChangeNotifier
UserTeam
可用。在关闭和打开后,它被处理并抛出一个错误,如下代码所示。
引发了另一个异常:在正在被处置。
请帮我。
代码混淆了Provider
在哪个变量上使用,请更改变量名
final userTeam = Provider.of<UserTeam>(context);
UserTeam _userTeam = UserTeam(userDetails: 'test, pageDetails: 3);
userTeam.setUserTeam(_userTeam);
与其在showModalBottomSheet
中创建一个全新的Provider
,不如创建一个价值提供者
ChangeNotifierProvider.value<UserTeam?>(value: _userTeam),