小编Luc*_*cas的帖子

从 TabBar 选择更新 URL

我目前正在更新 Flutter Web 应用程序以支持通过 URL 共享页面。我目前有一个使用 的屏幕TabBar,并根据所选选项卡显示不同的视图。我希望能够做两件事:

  • 选择选项卡时更新 URL(例如附加&section=tabName到 URL)
  • 将 URL 粘贴到新的浏览器选项卡中,并在 URL 指定的选项卡上打开应用程序

第二部分非常简单,只需接受&section=...参数并使用它来设置选项initialIndex卡控制器。然而更新 URL 似乎相当困难。

我尝试使用RouteInformationParser从参数列表生成新路由,但这会触发回调onGenerateRoute,并且似乎只是重新导航到具有initialIndex从新 URL 更新的页面。TabBarView我可以通过用导航到所选选项卡内容的嵌套导航器替换 来解决这个问题,但如果您想导航到比所选选项卡更深的位置,这似乎很快就会变得相当笨重。

我见过提到的一个更简单的选项是window.history.replaceState,它看起来简单得多,但感觉有点混乱。有没有我错过的方法可以做到这一点?

谢谢!

flutter flutter-navigation flutter-web

7
推荐指数
1
解决办法
545
查看次数

标签 统计

flutter ×1

flutter-navigation ×1

flutter-web ×1