导航到另一个视图时如何删除 Snackbar
Posted
技术标签:
【中文标题】导航到另一个视图时如何删除 Snackbar【英文标题】:How to remove Snackbar when navigating to another view 【发布时间】:2021-07-30 06:34:30 【问题描述】:@override
void initState()
super.initState();
_showFlushbar();
_showFlushbar() async
await Future.delayed(Duration(milliseconds: 500));
defaultFlushbar(
context: context,
message:
'Success',
padding: 50.0,
);
当我导航到屏幕时,它会按预期显示 Flushbar。但由于它具有 Future.delayed 持续时间,因此在导航到另一个视图时我无法将其删除。如何在不更改持续时间的情况下将其删除。
谢谢
【问题讨论】:
【参考方案1】:在颤抖中initState
当此对象插入树时调用。框架将为它创建的每个 State 对象调用此方法一次。
因此,您的 _showFlushbar
仅在您创建对象时被调用一次。除非您在其他地方引用它,否则它应该只显示一次。
由于延迟,小部件创建后会稍后显示
你总是可以丢弃
@override
void dispose()
FlashHelper.dispose();
super.dispose();
【讨论】:
谢谢,我忘记了 dispose()。祝你好运!以上是关于导航到另一个视图时如何删除 Snackbar的主要内容,如果未能解决你的问题,请参考以下文章