如何解决如何通过 URL 将多个参数传递给闪亮的应用程序以更新选择输入?
我有此代码用于“全局”查询,用于传递多个参数(国家/地区)以通过 updateSelectInput 显示多个图
问题是参数传递仅适用于像 http://webcovid19.online/?global=Slovakia 这样的 1 个参数,还有更多 像下面这样的论点 http://webcovid19.online/?global=Slovakia,Czechia 看起来传递参数不起作用,得到了这个错误。 “美学必须是长度为 1 或与数据 (1) 相同:x、y、颜色、标签和组”
server <- function(input,output,session) {
session$clientData$url_search
observe({
query <- parseQueryString(session$clientData$url_search)
if (!is.null(query[['global']])) {
updateSelectInput(session,"country_input",selected = query[['global']])
updateNavbarPage(session,"mainNavbarPage",selected="COVID 19 Global Stats")
}
})
界面
selectInput("country_input","Countries:",unique(countries$country),selected = start_countries,multiple = TRUE),
DF 国家/地区
head (countries)
country confirmed
1 US 1682183074
2 India 1063726855
3 Brazil 875580392
有什么想法吗? 当我进行调试时,我可以看到两个参数,但如何传递给我的应用程序? 看起来我必须以某种方式解析。
query[['global']]
[1] "Slovakia,Czechia"
str(query[["global"]])
chr "Slovakia,Czechia"
解决方法
Shiny App:如何通过 URL 传递多个令牌/参数
通过 url 传递给闪亮应用的令牌的标准分隔符是 &
符号。
闪亮的应用代码示例:
server <- function(input,output,session) {
observe({
query <- parseQueryString(session$clientData$url_search)
if (!is.null(query[['paramA']])) {
updateTextInput(session,"InputLabel_A",value = query[['paramA']])
}
if (!is.null(query[['paramB']])) {
updateTextInput(session,value = query[['paramB']])
}
})
# ... R code that makes your app produce output ..
}
对应的 URL 示例: http://localhost.com/?paramA=hello&?paramB=world
尽管您的问题似乎是如何从单个传递的参数中解析 字符串标记,不是吗?无论如何决定包含这个答案,因为这是 google 上关于如何通过 url 将多个参数传递给闪亮应用程序的第一个结果,我相信其他人会觉得有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。