在Shining应用程序中构造URL搜索参数?
我有一个闪亮的应用程序,可以处理一个大的csv文件。目前,用户可以从下拉菜单中选择一个在Shining应用程序中构造URL搜索参数?,r,shiny,urlsearchparams,R,Shiny,Urlsearchparams,我有一个闪亮的应用程序,可以处理一个大的csv文件。目前,用户可以从下拉菜单中选择一个设施id编号,以获得特定的绘图,请参阅。我想通过URL参数传递这个id,比如/?selected_facilities=1010040,这样我就可以将绘图嵌入到另一个网站中 我已经从中获取了代码,并试图使用它来更新Shiny应用程序服务器部分中的selectInput()值,但我并不真正理解UI部分是如何构造的,因此我没有正确地理解它。任何帮助都将不胜感激!以下是相关代码: #### shiny UI ####
设施id
编号,以获得特定的绘图,请参阅。我想通过URL参数传递这个id,比如/?selected_facilities=1010040
,这样我就可以将绘图嵌入到另一个网站中
我已经从中获取了代码,并试图使用它来更新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']])
}
})
#####闪亮的用户界面####
设施您的UI很好,存在更新选择输入
的问题,请使用所选
而不是值
,并包括选项
最简单的工作示例:
library(shiny)
facilities <- seq(1:5)
ui <- fluidPage(
selectInput("selected_facility", "Select facility", choices = facilities)
)
server <- function(input, output, session) {
observe({
#Get URL query
query <- parseQueryString(session$clientData$url_search)
#Ignore if the URL query is null
if (!is.null(query[['selected_facility']])) {
#Update the select input
updateSelectInput(session, "selected_facility", selected = query[['selected_facility']], choices = facilities)
}
})
}
shinyApp(ui, server)
127.0.0.1:6054/?selected_facility=4