根据用户角色显示/隐藏小部件

时间:2020-04-13 12:43:21

标签: flutter

我正在开发员工排班应用程序。

为了查看员工的工作状况,我创建了一个页面,员工可以在该页面上输入由于疾病等原因在一天中的不工作状态。

同时,我希望管理员可以看到此页面,以便大致了解其员工的状况。

员工只能添加不可用原因,但是管理员应具有附加权利,可以向指定员工提供班次(如果有空)。

我需要创建两个单独的页面,还是可以使用同一页面并使小部件根据用户角色显示/隐藏?

如果可以使用同一页面,那么我需要使用哪些类来区分角色?

注意:我了解到,在对用户进行身份验证时,firebase是最简单的选项,因此我将使用它。

2 个答案:

答案 0 :(得分:2)

我认为最好的选择是使用IndexedStack

 body: IndexedStack(
        index: stackIndex,//0 is for the first and n is for the last
        children: <Widget>[
          Widget1,//index is 0
          Widget2,//index is 1
        ],
      ),

您只需更改索引即可将主体更改为下一个小部件(页面)。

答案 1 :(得分:1)

您可以检查用户是管理员还是员工并渲染相关的小部件。如果没有任何显示,则可以使用空的Container小部件。

isAdmin ? AdminSpecificWidget():Container();