如何根据Flutter中的条件更改底部导航栏项目

时间:2020-02-25 08:56:43

标签: flutter bottomnavigationview

我有一个底部的导航栏项目列表:[A,B,C,D]。我想根据条件X更改此列表。

例如:注销用户时,用户具有提及的列表[A,B,C,D]。但是,当用户登录时,底部导航栏项目列表需要更改为[A,B,C,E]。当条件X在运行时更改时,我从列表中添加和删除了项目。但是,这对我来说似乎很不正确,我不确定这是否是解决此问题的方法。

有时存在列表未更新且保持为[A,B,C,D]的问题。我是否应该为这些物品准备两个单独的清单?

感谢您的帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以简单地创建返回类型为List的函数。

List navBarItems (){

  if(your condition X){

    return ["item1","item2","item3"];
  }else{
    return ["item1","item2"];
  }

}

然后将其放在底部导航栏项目:navBarItems()中。 或者只是

bottomnavbaritems:(condition X)?["item1","item2","item3"]: ["item1","item2"];

然后使用setState()更改条件。