1

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

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

有时会出现列表不更新并保持 [A,B,C,D] 的问题。我应该有两个单独的项目列表吗?

任何帮助表示赞赏,非常感谢。

4

1 回答 1

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() 更改条件。

于 2020-02-25T09:11:47.897 回答