【问题标题】:Shiny Sliders Dependent on Single Checkbox依赖于单个复选框的闪亮滑块
【发布时间】:2018-06-06 18:18:07
【问题描述】:

我有一个闪亮的应用程序,我试图让两个滑块仅在选中复选框时出现。下面是我试图开始工作但没有看到 UI 的代码。

library(shiny)

ui <- fluidPage(

  checkboxInput("box_checked", "box_checked", value = FALSE),
  uiOutput("test")
)

# Define server logic 
server <- function(input, output) {

  output$test = renderUI({
    if (input$box_checked = 0){
      return(NULL)
    }


    if(input$box_checked = 1){
      sliderInput("sliderOne", "Choose your value", min=0, max=100, value=50)
      sliderInput("sliderTwo", "Choose your other value", min=0, max=50, value=25)
    }

  })


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

【问题讨论】:

    标签: r shiny shinydashboard


    【解决方案1】:

    试试这个方法:

    library(shiny)
    
    ui <- fluidPage(checkboxInput("box_checked", "box_checked", value = FALSE),
                    uiOutput("test"))
    
    # Define server logic
    server <- function(input, output) {
      output$test = renderUI({
        if (input$box_checked == 0) {
          return(NULL)
        }
    
    
        if (input$box_checked == 1) {
          list(
            sliderInput(
              "sliderOne",
              "Choose your value",
              min = 0,
              max = 100,
              value = 50
            ),
            sliderInput(
              "sliderTwo",
              "Choose your other value",
              min = 0,
              max = 50,
              value = 25
            )
          )
        }
    
      })
    
    
    }
    # Run the application
    shinyApp(ui = ui, server = server)
    
    1. 我修复了if 语句,因为您使用input$box_checked = 1 而不是input$box_checked == 1
    2. 您应该使用list()renderUI 中生成多个UI 元素。

    【讨论】:

    • 顺便说一句,您还可以节省一些输入,不包括整个第一个 if 语句 - 如果您不想看到任何内容,确实不需要返回 NULL。而且您也可以只使用if (input$box_checked),因为input$box_checked 本身就是合乎逻辑的。我无法确定这是真正的改进还是只是让您的代码更加混乱,但无论如何这是可能的。
    猜你喜欢
    • 2018-07-15
    • 2017-05-05
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 2023-04-01
    相关资源
    最近更新 更多