给定的 R闪亮脚本下面有一个 selectInput 和 infobox,我只想在 ui 的信息框中的 selectInput 中显示选定的值。请帮助我找到解决方案,如果可能的话,请避免在服务器中编写任何脚本,因为我有进一步的依赖性。如果这可以在 UI 中完成,那就太好了。
## app.R ##
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
box(title = "Data", status = "primary", solidHeader = T, width = 12,
fluidPage(
fluidRow(
column(2,offset = 0, style='padding:1px;',
selectInput("select the
input","select1",unique(iris$Species)))
))),
infoBox("Median Throughput Time", iris$Species)))
server <- function(input, output) { }
shinyApp(ui, server)
技巧是确保您知道
selectInput
的值被分配在哪里,在我的示例中是selected_data
,可以使用input$selected_data
在服务器代码中引用它。
renderUI
可让您构建一个动态元素,可以使用 uiOutput
和输出 id 进行渲染,在本例中为 info_box
## app.R ##
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
box(title = "Data", status = "primary", solidHeader = T, width = 12,
fluidPage(
fluidRow(
column(2, offset = 0, style = 'padding:1px;',
selectInput(inputId = "selected_data",
label = "Select input",
choices = unique(iris$Species)))
)
)
),
uiOutput("info_box")
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$info_box <- renderUI({
infoBox("Median Throughput Time", input$selected_data)
})
}
# Run the application
shinyApp(ui = ui, server = server)