【问题标题】:Disable specific range slider禁用特定范围滑块
【发布时间】:2019-09-24 07:52:42
【问题描述】:

我有一个滑块输入,最小值为 0,最大值为 1。有没有办法可以禁用范围 0 - 0.2 和 0.8 - 1,所以用户只能从滑块上的范围 0.2 - 0.8 中选择?

注意:我不想更改最大值和最小值,我想让用户知道还有更多,但目前无法选择。

我通过这个R shiny sliderInput with restricted range 帖子找到了有价值的信息,但我希望得到与使用shinyjs::disable("") 时相同的输出。表示无法获得的灰色区域。

谢谢!!

【问题讨论】:

标签: r shiny shinyjs


【解决方案1】:

这是一种可能性:

sliderInput2 <- function(inputId, label, min, max, value, step=NULL, from_min, from_max){
  x <- sliderInput(inputId, label, min, max, value, step)
  x$children[[2]]$attribs <- c(x$children[[2]]$attribs, 
                               "data-from-min" = from_min, 
                               "data-from-max" = from_max)
  x
}

css <- "
.irs-grid-text {
  color: black;
}
.js-grid-text-0, .js-grid-text-1, .js-grid-text-9, .js-grid-text-10 {
  color: #99a4ac;
}"

ui <- fluidPage(
  tags$head(
    tags$style(HTML(css))
  ),
  sliderInput2("slider", "Slide:",
              min = 0, max = 1, value = 0.5, step = 0.1, from_min = 0.2, from_max = 0.8
  )
)

server <- function(input, output) {}

shinyApp(ui, server)

【讨论】:

  • 这是一个漂亮而简单的解决方案,谢谢!
猜你喜欢
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
  • 2018-11-21
  • 2011-02-10
  • 2014-12-26
  • 1970-01-01
相关资源
最近更新 更多