我有一个问题,在这里我想使用角色将用户和管理员分开。
我在下面编写的代码一直运行顺利,但是在该代码中,显示的数据仅在同一屏幕上。
如何在不同页面上返回snapshot.data ['role],例如AdminPage();和UserPage();
body: StreamBuilder<DocumentSnapshot>(
stream: Firestore.instance
.collection('users')
.document(user.uid)
.snapshots(),
builder:
(BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
if (snapshot.hasError) {
return Text('Error: ${snapshot.hasError}');
}
return snapshot.hasData ? checkRole(snapshot.data) : Text('No Data');
},
),
);
}
}
Center checkRole(DocumentSnapshot snapshot) {
if (snapshot.data['role'] == 'admin') {
return adminPage(snapshot);
} else {
return userPage(snapshot);
}
}
Center adminPage(DocumentSnapshot snapshot) {
return Center(child: Text(snapshot.data['role'] + ' is here'));
}
Center userPage(DocumentSnapshot snapshot) {
return Center(child: Text(snapshot.data['role'] + ' PAGE'));
}