Flutter Uri.parse() 连接字符串

问题描述 投票:0回答:0

我正在尝试将多个字符串传递给变量 Url,其中用户 ID 附加到 url 的末尾,在

?
之后表示查询参数。但是,
Uri.parse()
调用一直忽略 Url 的第一部分,只从
?
开始。我如何组合这些字符串并让其在 Url 中解析并启动它?

final url = '${documentRef.url}?$currentUserUid';
launchUrl(Uri.parse(url),
  mode: LaunchMode.inAppWebView);
print('url to launch $url');

输出是

url to launch ?uid

前面没有

documentRef.url

更新:我还应该注意,

Uri.parse()
在没有添加
?
的情况下工作正常。

更新 #2:如果我添加像

?uid=
这样的东西,它就会正常工作。因此,只有一个
?
会导致解析失败,而
?uid=
起作用。所以现在是

final url = '${documentRef.url}?uid=$currentUserUid';
launchUrl(Uri.parse(url),
  mode: LaunchMode.inAppWebView);
print('url to launch $url');

现在输出

url to launch url?uid=uid
flutter dart
© www.soinside.com 2019 - 2024. All rights reserved.