Блестящие ползунки в зависимости от одного флажка - PullRequest
0 голосов
/ 06 июня 2018

У меня блестящее приложение, и я пытаюсь, чтобы два ползунка появлялись, только если установлен флажок.Ниже приведен код, который я пытаюсь заставить работать и не вижу пользовательского интерфейса.

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)

1 Ответ

0 голосов
/ 06 июня 2018

Попробуйте следующим образом:

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.
...