如何根据 Flutter 中的条件更改底部导航栏项目
How to change the bottom navigation bar items based on a condition in Flutter
我有一个底部导航栏项目列表:[A、B、C、D]。我想根据条件 X 更改此列表。
例如:当用户注销时,用户有列表[A,B,C,D]。但是当用户登录时,底部导航栏项目列表需要更改为 [A, B, C, E]。当条件 X 在运行时更改时,我从列表中添加和删除项目。但是,这对我来说似乎很不正确,我不确定这是否是解决此问题的方法。
有时会出现列表不更新并停留在 [A,B,C,D] 的问题。我应该为这些项目准备两个单独的列表吗?
感谢任何帮助,非常感谢。
您可以简单地创建一个 return 类型列表的函数。
List navBarItems (){
if(your condition X){
return ["item1","item2","item3"];
}else{
return ["item1","item2"];
}
}
然后将它放在底部导航栏项目中:navBarItems()。
或者干脆
bottomnavbaritems:(condition X)?["item1","item2","item3"]: ["item1","item2"];
并使用 setState() 来改变条件。
我有一个底部导航栏项目列表:[A、B、C、D]。我想根据条件 X 更改此列表。
例如:当用户注销时,用户有列表[A,B,C,D]。但是当用户登录时,底部导航栏项目列表需要更改为 [A, B, C, E]。当条件 X 在运行时更改时,我从列表中添加和删除项目。但是,这对我来说似乎很不正确,我不确定这是否是解决此问题的方法。
有时会出现列表不更新并停留在 [A,B,C,D] 的问题。我应该为这些项目准备两个单独的列表吗?
感谢任何帮助,非常感谢。
您可以简单地创建一个 return 类型列表的函数。
List navBarItems (){
if(your condition X){
return ["item1","item2","item3"];
}else{
return ["item1","item2"];
}
}
然后将它放在底部导航栏项目中:navBarItems()。 或者干脆
bottomnavbaritems:(condition X)?["item1","item2","item3"]: ["item1","item2"];
并使用 setState() 来改变条件。