我目前正在更新 Flutter Web 应用程序以支持通过 URL 共享页面。我目前有一个使用 的屏幕TabBar,并根据所选选项卡显示不同的视图。我希望能够做两件事:
§ion=tabName到 URL)第二部分非常简单,只需接受§ion=...参数并使用它来设置选项initialIndex卡控制器。然而更新 URL 似乎相当困难。
我尝试使用RouteInformationParser从参数列表生成新路由,但这会触发回调onGenerateRoute,并且似乎只是重新导航到具有initialIndex从新 URL 更新的页面。TabBarView我可以通过用导航到所选选项卡内容的嵌套导航器替换 来解决这个问题,但如果您想导航到比所选选项卡更深的位置,这似乎很快就会变得相当笨重。
我见过提到的一个更简单的选项是window.history.replaceState,它看起来简单得多,但感觉有点混乱。有没有我错过的方法可以做到这一点?
谢谢!