首页 > 解决方案 > 有没有办法将 numericInput() 的最大值设置为另一个 numericInput() 的值?

问题描述

我有一个闪亮的应用程序,有两个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)

标签: rshiny

解决方案


您可以使用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)

推荐阅读