所以我在主页上有警报,欢迎新用户注册后/在,但每次当我再次回到主页时,它会显示我警报。
@override
void initState() {
super.initState();
Timer.run(() => showAlert(context: context));
}
void showAlert({required BuildContext context}) {
showDialog(
context: context,
builder: (context) {
return BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
child: CustomAnnounceCard(
title: '⚙️ Welcome to Beta test',
positiveTap: () => Navigator.of(context).pop(),
),
);
},
);
}
Here you can see alert by itself
伙计们,帮我做一次提醒,所以新用户只能在登录后才能看到
2条答案
按热度按时间wlsrxk511#
您必须在服务器端或移动设备中保存一个状态,使用共享首选项存储一个标志,指示警报是否已显示。然后有条件地显示警报。
在下面的代码中,我使用了共享首选项来说明我的意思。
gfttwv5a2#
有很多方法可以解决这个问题,我会给予你最简单的。在类
StatefullWidget
中声明一个bool
,将其命名为isNew,并通过在bool后添加?
使其可为空,就像这样bool? isNew;
。然后为你声明的bool创建一个构造函数,之后用下面的代码替换你的函数initState()
:然后转到您的注册页面,并在导航功能中添加主页类
isNew: true
,如以下代码: