【发布时间】:2022-01-13 14:38:17
【问题描述】:
我正在尝试查找登录用户是管理员还是普通用户。
我已经创建了一个全局函数(然后在 initState 中调用它)来检查角色是否为管理员,方法是将 bool 设置为 true 或 false,如下所示:
bool isAdmin;
_checkRole() async {
var firebaseUser = FirebaseAuth.instance.currentUser;
await FirebaseFirestore.instance
.collection("users")
.doc(firebaseUser.uid)
.get()
.then((value) {
if ((value.data()['role']) == 'admin') {
isAdmin = true;
} else {
isAdmin = false;
}
return isAdmin;
});
}
我在抽屉里做了以下事情:
isAdmin
? buildListTile(
'Admin Panel', Icons.admin_panel_settings_sharp, () {
Navigator.of(context).pushNamed(AdminScreen.routeName);
})
: buildListTile('User dashboard', Icons.person, () {}),
但是当我打开抽屉时,我收到Failed assertion: boolean expression must not be null
关于如何解决此问题的任何想法?
谢谢。
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore