表示 infoBox 中的 selectInput 值

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

给定的 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

r shiny shinydashboard
1个回答
1
投票

技巧是确保您知道

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)
© www.soinside.com 2019 - 2024. All rights reserved.