闪亮的小部件价值基于其他小部件

Shiny Widget Value based off other Widget

所以假设我有以下 R shiny 应用 UI:

ui <- fluidPage(
   
   sidebarLayout(
      sidebarPanel(
         sliderInput("x1",
                     "Choose knot 1:",
                     min = 1,
                     max = # here I want the value of slider x2
                     value = 10, # default value
                     step=0.01),
         sliderInput("x2",
                     "Choose knot 2:",
                     min = # here I want value of slider input x1
                     max = 50,
                     value = 25, # default value
                     step=0.01),
      )
   )
)

我希望滑块输入 x1 的最大值是滑块输入 x2 的当前值,我希望滑块输入 x2 的最小值是滑块输入 x1 的当前值。如何从另一个小部件中的滑块输入获取当前值?

我认为您可以在 server 中的 observe 中使用 updateSliderInput 以获得所需的行为。

server <- function(input, output, session) {
  observe({
    updateSliderInput(session, inputId = "x1", max = input$x2)
    updateSliderInput(session, inputId = "x2", min = input$x1)
  })
}