1

我在 UI 中有两个输入菜单。一个是案例菜单,第二个是滑块菜单。

当我第一次单击案例菜单并选择滑块1时,我想这样做。它只显示滑块菜单,即滑块1,当我单击案例菜单并选择滑块2时。它只显示滑块菜单,即滑块 2。


ui <- fluidPage(
   
    fluidRow(
        column(5,
               selectInput("case", "case",c("slider1"="slider1","slider2"="slider2"
               ))),
        
        
        column(5,    
               sliderInput("slider1", "slider1",
                           min = 0, max = 9, value = 5)),
        
        
        column(5,    
               sliderInput("slider2", "slider2",
                           min = 0, max = 20, value = 2))
        
        
    ))

server <- function(input, output) {}

# Run the application 
shinyApp(ui = ui, server = server)

4

1 回答 1

1

你可以conditionalPanel在这里使用。这将根据 Javascript 表达式的值创建一个可见或不可见的面板。在这种情况下,您的表达式将检查 的值input.caseselectInput以选择您想要的滑块。

library(shiny)

ui <- fluidPage(
  
  fluidRow(
    column(5,
           selectInput("case", "case", c("slider1" = "slider1", "slider2" = "slider2"
           ))),
    conditionalPanel(
      condition = "input.case == 'slider1'",
      column(5,    
             sliderInput("slider1", "slider1",
                       min = 0, max = 9, value = 5))),
    conditionalPanel(
      condition = "input.case == 'slider2'",
      column(5,    
             sliderInput("slider2", "slider2",
                       min = 0, max = 20, value = 2)))
  )
)
于 2021-05-19T01:58:27.360 回答