在Shiny中传递ui中的小部件值

时间:2018-03-13 03:08:57

标签: checkbox shiny widget dropdown

在Shiny中,如何将selectInput窗口小部件的值传递给另一个窗口小部件?这就是我想要实现的目标:

selectInput("dataset", "",
            choices = c("A", "B", "C"), # A to C are datasets in memory
            selected = "B")

conditionalPanel("input.tabs === 'tab'",
                 checkboxGroupInput("checkboxes", "",
                 names(?), # I want the column names of the selected dataset
                 selected = names(?))) # and here too

具体来说,我希望selectInput使用checkboxGroupInput的值,可能是对内存中数据集的引用。

1 个答案:

答案 0 :(得分:1)

每当您需要ui中的动态参数时,您需要将uiOutputrenderUI结合使用。 Read more

ui.R

ui中定义将在服务器端呈现的uiOutput

selectInput("dataset", "",
              choices = c("A", "B", "C"), # A to C are datasets in memory
              selected = "B"),
uiOutput("ui")

server.R

在服务器端使用renderUI

output$ui <- renderUI( {
      conditionalPanel("input.tabs === 'tab'",
                       checkboxGroupInput("checkboxes", "",
                                          input$dataset,
                                          selected = input$dataset))
})

您可以使用input$dataset访问所选值。如果您需要choices,则可以先将其存储在向量中,然后将其提供给selectInput