【发布时间】:2021-02-23 15:41:32
【问题描述】:
我有一个处理大型 csv 文件的 Shiny 应用程序。目前,用户可以从下拉菜单中选择一个facility_id 数字来获得特定的绘图,请参阅https://r.timetochange.today/shiny/Annual_Emissions2/。我想用像/?selected_facilities=1010040 这样的 URL 参数传递这个 id,这样我就可以将图嵌入另一个网站。
我已从How do you pass parameters to a shiny app via URL 获取代码并尝试使用它来更新我在 Shiny 应用程序的服务器部分中的selectInput() 值,但我并不真正了解 UI 部分是如何构造的,所以我不是做对了。任何帮助将不胜感激!以下是相关代码:
#### shiny UI ####
facilities <- unique(ghg_emissions$facility_id)
ui <- fluidPage(
titlePanel("Annual Greenhouse Gas Emissions"),
sidebarLayout(
sidebarPanel(
selectInput("selected_facility",
"Select facility",
choices = facilities) # select input gives the drop down menu to select facilities
),
mainPanel(
plotlyOutput("facility_plot")
)
)
)
#### shiny server ####
server <- function(input, output, session) {
# Here you read the URL parameter from session$clientData$url_search
observe({
query <- parseQueryString(session$clientData$url_search)
if (!is.null(query[['selected_facility']])) {
updateSelectInput(session, "selected_facility", value = query[['selected_facility']])
}
})
【问题讨论】:
标签: r shiny urlsearchparams