簡體   English   中英

如何從一個小部件導航到另一個像 android(flutter) 中的片段?

[英]How to navigate from one widget to another like fragments in android(flutter)?

我的 UI 有這樣的結構:

TabBarView(children:[_Fragment1,_Fragment2...])

_Fragment1 顯示我的用戶的文件,我需要在帶有 backstack 的文件夾之間實現導航。 我的 _Fragment1 中有列表視圖,當單擊項目且項目是文件夾時,應顯示文件夾的文件(僅更改文件片段)。 我試着讓它像這樣但它失敗了:

onTap: () => (_filesList[index].isFolder)
              ? Navigator.push(context, MaterialPageRoute(builder: (_) => _FilesListView(_filesList[index].children)))
              : null,

android中是否有像碎片一樣簡單的解決方案? 也許有一些軟件包可以幫助制作這樣的東西。

我在這里找到了解決方案https://stackoverflow.com/a/52247870/10260006和在Flutter 中使用帶有 WillPopScope 的嵌套導航器,但我想補充一點,我只需要為 thisroute 指定根命名路由和 ongenerate

WillPopScope(
            onWillPop: () async {
              navigatorKey.currentState.maybePop();
              return false;
            },
            child: Navigator(
              key: navigatorKey,
              initialRoute: '/',
              onGenerateRoute: (settings) {
                return (settings.name == '/')
                    ? MaterialPageRoute(
                        builder: (context) => _FilesListView(filesList.where((file) => file.isShared == false).toList()),
                        settings: settings)
                    : null;
              },
            ),
          ),

而且你可以只使用 Navigator.of(context).push

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM