如何在 Rshiny 中使两个菜单相关或分层?

问题描述

我在用户界面中有两个输入菜单一个是案例菜单,第二个是滑块菜单

我想当我点击 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)))
  )
)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...