【问题标题】:Flutter Web: Reading and writing query string valuesFlutter Web:读取和写入查询字符串值
【发布时间】:2020-03-18 21:26:30
【问题描述】:

是否可以直接读取/写入查询字符串,而不是将命名路由推送到根导航器?

我们正在开发一个桌面风格的应用程序,它使用内部内容区域。 我们希望支持 Web 上的深度链接,但不要依赖我们的根导航器来更改页面,因此常规方法不适合。(我们使用 IndexedStack + 'TabMenu' 代替)

我们真正需要的只是几个简单的 API:

Window.setRoute("/foo/bar")
String route = Window.getRoute()
Window.onRouteChanged = _handleRouteChanged;

从那里我们可以轻松地处理代码中的所有内容。这可能吗?

【问题讨论】:

    标签: flutter flutter-navigation


    【解决方案1】:

    来自https://github.com/flutter/flutter/issues/35261#issuecomment-507610298
    您可以通过使用dart:js 包访问window.location.href 来获取query parameters

    import 'dart:js' as js;
    ...
    var uri = Uri.tryParse(js.context['location']['href']);
    if (uri != null) return uri.queryParameters;
    

    并直接改window.location.href

    【讨论】:

    • 谢谢!这是一个开始!现在只需要一种方法来写入它们,并绑定到更改。
    • 可以直接修改window.location.href
    • 啊,我明白了。谢谢!不过,Flutter 似乎在与我作斗争,每次我改变它,它都会把它改回来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多