簡體   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