繁体   English   中英

我如何使用 Flutter 中的枚举来定义与目的地同步的 selectedIndex 的名称

[英]How do I use an enum in Flutter to define names for selectedIndex that synchs with destinations

我想定义一个枚举(或其他东西)来为 seletedIndex 的可能值命名,并定义目的地的顺序,例如 Flutter NavigationBar,这样我只需要 go 到一个地方就可以更改顺序的目的地。

到目前为止我看到的例子总是需要在两个地方进行重新排序:一个是在给 NavigationBar 的目的地列表中,它有一个隐式的、不可见的、未命名的索引,另一个是基于 selectedIndex 的开关或下标建立选定的页面。 这似乎是一个 bug ma.net。 有什么方法可以设置它,以便我只在一个地方定义目的地的顺序并将目的地列表绑定到正确的页面吗?

在我看来 NavigationDestination 应该有一个属性来处理这个绑定或一个“displayOrder”属性,但我没有看到这个。 如果没有更好的方法,我想我可以写一个 function 来构建基于 object(如枚举)的目标列表,它将数字索引绑定到相应的页面视图,但这似乎有很多机制来为常规导航栏任务创建,尤其是在这种现代 OO 上下文中——奇怪的是,选择导航栏页面需要在无开关编程世界中进行切换。 然而,示例实现具有开关,并且需要维护代码的两个独立区域来完成一件事。 但是,我知道什么? 强制性新手免责声明如下...

我认为我上面的问题措辞不当,基于无知和看到一些建议页面导航通常使用 integer(如 selectedIndex)完成的幼稚示例。 一旦我了解了导航器 class 和其他导航和列表相关的构建器,我看到了 OO 技术 Flutter 提供了用于将分层菜单等放在一起而无需使用 switch 语句和 integer 索引。 因此,对于像我这样问“我真的需要重新发明导航轮”的人,我的回答是首先了解 导航基础知识

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM