Отключить определенный ползунок диапазона - PullRequest
1 голос
/ 06 мая 2019

У меня есть sliderInput с минимумом 0 и максимумом 1. Есть ли способ, которым я могу отключить диапазон 0 - 0,2 и 0,8 - 1, чтобы пользователь мог выбирать только из диапазона 0,2 - 0,8 на слайдере

Примечание: я не хочу изменять максимум и минимум, я хочу, чтобы пользователь знал, что есть больше, но в настоящее время не может быть выбран.

Я нашел ценную информацию из этого R блестящего слайдера с ограниченным диапазоном , но я хотел бы получить тот же вывод, что и при использовании shinyjs::disable(""). Имеется в виду серая область, которую невозможно получить.

Спасибо !!

1 Ответ

1 голос
/ 06 мая 2019

Вот возможность:

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)

enter image description here

...