微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在用户状态颤动时更改抽屉项目

如何解决我如何在用户状态颤动时更改抽屉项目

如何根据用户状态更改颤动上的抽屉项目 抽屉有 2 个项目登录退出,当我按下退出时,用户退出但抽屉不会改变退出按钮仍然可见,我应该重新加载页面,使其消失并出现登录按钮

if (_auth.currentUser == null)
                Column(
                  children: [
                    ListTile(
                      title: Text('Sign In'),onTap: () {
                        Navigator.push(
                          context,MaterialPageRoute(builder: (context) => SignIn()),);
                      },),],)
              else
                Column(
                  children: [
                    ListTile(
                      title: Text('My Cars'),MaterialPageRoute(builder: (context) => MyCars()),ListTile(
                      title: Text('Sign Out'),onTap: () {
                        signOut();
                        
                      },

登录也有导航功能,可以导航到有抽屉的屏幕,但是当发生这种情况时,抽屉仍然显示登录按钮,我应该再次导航以更改它

解决方法

将 listile 包装到 visibility 小部件中,

Visibility (
    visible: _visible
    child: ListTile(...)
);

声明一个布尔变量 _visible 并设置它的值。您可以检查所有条件并在 setState 中将其设为 true 以隐藏和显示 ListTile

setState(() {
    _visible = false;
});

setState(() {
    _visible = true;
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。