有没有一种方法可以将一个numericInput()的最大值设置为另一个numericInput()的值?

时间:2018-11-24 18:40:41

标签: r shiny

我有一个带有两个numericInput()的闪亮应用程序。一个用于最小值,第二个用于最大值。可以将最小值的最大值设置为最大值吗?

    library(shiny)
ui <- fluidPage(
  uiOutput("filter")
)
server <- function(input, output) {
output$filter<-renderUI({
  "range"=tagList(
  numericInput("obs", "Min:", 10, min = 1, max = 100),
  numericInput("obs2", "Max:", 10, min = 1, max = 100)
)
})

  }
shinyApp(ui, server)

1 个答案:

答案 0 :(得分:1)

您可以使用renderUI()

library(shiny)
ui <- fluidPage(
  uiOutput("obs1"),
  numericInput("obs2", "Max:", 10, min = 1, max = 100),
  verbatimTextOutput("value")
)
server <- function(input, output) {
  output$value <- renderText({ 
    input$obs 
  })

  output$obs1 <- renderUI({
    val <- min(input$obs, as.numeric(input$obs2))
    numericInput("obs", "Min:", val, min = 1, max = as.numeric(input$obs2))
  })
}
shinyApp(ui, server)