如何解决如何使用脚手架键删除或隐藏当前的小吃店?
下面的代码工作正常,但不会在用户注销时隐藏小吃店。
它调用代码 _scaffoldKey.currentState.hideCurrentSnackBar();
但不隐藏小吃店。
如何删除或隐藏当前的小吃店?
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen>
with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
// need to call super method for AutomaticKeepAliveClientMixin
super.build(context);
print('Rebuild in Home Screen.....');
return StreamBuilder<app.User>(
stream: Provider.of<AuthProvider>(context,listen: true).user,builder: (context,snapshot) {
return StreamBuilder<List<UserMovies>>(
stream: Provider.of<UserDetailsProvider>(context,listen: false)
.getUserFavouriteMovies(),snapshotMovies) {
Movies movies = snapshotMovies.hasData &&
snapshotMovies.data.length > 0
? snapshotMovies.data[0]
: null;
_showSnackBar(context,movies);
return SizedBox(height: 2.0);
},},),}
void _showSnackBar(BuildContext ctx,Movies movies) {
if (movies == null) {
_scaffoldKey.currentState.hideCurrentSnackBar();
} else {
WidgetsBinding.instance.addPostFrameCallback(
(_) => {
print('showCurrentSnackBar'),_scaffoldKey.currentState.showSnackBar(
SnackBar(
backgroundColor: Colors.deepPurple.shade300,content: Text("Hello World!"),duration: const Duration(
days: 1,behavior: SnackBarBehavior.floating,margin: EdgeInsets.zero,shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(
const Radius.circular(0.0),);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。