问题描述
我在用户界面中有两个输入菜单。一个是案例菜单,第二个是滑块菜单。
我想当我点击 case menu 并选择滑块 1 时。它只显示滑块菜单是 slider1 ,当我单击 case menu 并选择滑块 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)),sliderInput("slider2","slider2",max = 20,value = 2))
))
server <- function(input,output) {}
# Run the application
shinyApp(ui = ui,server = server)
解决方法
您可以在此处使用 conditionalPanel
。这将根据 Javascript 表达式的值创建一个可见或不可见的面板。在这种情况下,您的表达式将检查 input.case
的值,selectInput
以选择您想要的滑块。
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'",sliderInput("slider2","slider2",max = 20,value = 2)))
)
)