我在await
之后使用SnackBar
。
因此,它显示的错误如下:
Do not use BuildContexts across async gaps
我使用if (!mounted)
此行删 debugging 误。它删除了问题但是,SnackBar
未显示。完成任务时
我的代码:
Future removeMethod() async {
String res = await DatabaseMethods().idReject(widget.uid);
if (res == "success") {
if (!mounted) return;
showSnackBar(context, "Job done!");
} else {
if (!mounted) return;
showSnackBar(context, "Error!!");
}
}
showSnackBar是自定义小部件。它代码:
void showSnackBar(BuildContext context, String title) {
final snackBar = SnackBar(
content: CustomText(
text: title,
size: 16,
),
backgroundColor: darkblueColor,
);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}
我能做些什么呢?我想在等待之后展示小吃吧。
1条答案
按热度按时间fae0ux8s1#
这个基本的例子是基于你的代码段的。这里一个snackbar在一个future的结果返回后被调用(例如一个数据库调用)。如果这有用的话?