Flutter Changenotifier提供程序在关闭和打开底部模型页后被处理



在我的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(),
),
);
}),
),
),
);
});

首次打开底部模型页时,ChangeNotifierUserTeam可用。在关闭和打开后,它被处理并抛出一个错误,如下代码所示。

引发了另一个异常:在正在被处置。

请帮我。

代码混淆了Provider在哪个变量上使用,请更改变量名

final userTeam = Provider.of<UserTeam>(context);
UserTeam _userTeam = UserTeam(userDetails: 'test, pageDetails: 3);
userTeam.setUserTeam(_userTeam);

与其在showModalBottomSheet中创建一个全新的Provider,不如创建一个价值提供者

ChangeNotifierProvider.value<UserTeam?>(value: _userTeam),

相关内容

  • 没有找到相关文章

最新更新