首页 > 解决方案 > 当最小值等于最大值时,如何使滑块输入 R UI 在任一方向上拖动

问题描述

使用 R Shiny,我的 UI 中有一个滑块输入,带有最小值和最大值的句柄。这些按预期工作......主要是。如果您单击最小手柄并将其拖动到与最大手柄相同的值,则该值上会出现一个手柄 - 例如,如果最大值为 5 并且您将最小手柄拖动到 5,那么现在您在 5 处有一个代表最小值和最大值。

到目前为止一切都很好,但是现在,如果您单击 5 处的手柄并尝试将其向右拖动,则 UI 将不允许您这样做。解决这个问题的唯一方法是再次向下拖动最小值(比如说,可能是 4),然后返回到剩余的手柄并再次向右拖动。

这是预期的行为吗?有什么办法可以让 UI 根据我在手柄相互重叠时移动的方向知道我想要移动哪个手柄?

下面的代码显示了我提到的 sliderInput 行为。

library(shiny)

ui <-
  fluidPage(fluidRow(column(
    12,
    sliderInput(
      inputId = "foo_bar",
      label = "Select Range",
      min = 0,
      max = 10,
      value = c(0, 10),
      step = 1,
      round = T,
      ticks = T,
      width = "100%",
      dragRange = T
    )
  )))

shinyApp(ui = ui, server = function(input, output) {})

标签: rshinyslider

解决方案


推荐阅读