Это довольно общий подход, но использование этого метода (см. Ниже) выдает несколько предупреждений относительно операторов if при его использовании в исходном коде (слишком долго, чтобы представлять его здесь).Итак, есть ли какой-нибудь правильный способ переключения с sliderInput()
на numericInput()
при изменении selectInput()
?Большое спасибо ...
РЕДАКТИРОВАТЬ: Пример не был правильно воспроизведен.Код теперь возвращает предупреждения.Ошибка явно заключалась в value = c(0, 10)
в numericInput()
, что, конечно, требует единственного значения.Простите за мои прыжки в ...
library(shiny)
ui <- fluidPage(
selectInput("option", "Select option", c("Slider", "Numeric")),
uiOutput("op")
)
server <- function(input, output, session){
output$op <- renderUI(
if(input$option == "Slider"){
sliderInput(inputId = "sip",
label = "Slider",
min = 0,
max = 10,
value = c(0, 10))
} else {
if(input$option == "Numeric"){
numericInput(inputId = "nip",
label = "Numeric",
min = 0,
max = 10,
value = c(0, 10)) #Single value required
}
}
)
}
shinyApp(ui = ui, server = server)