Отключить элемент в selectInput / selectizeInput - PullRequest
0 голосов
/ 28 апреля 2020

Мой вопрос почти такой же, как и этот вопрос: Отключить элемент в выпадающем списке selectinput

Я хотел бы отключить элементы в меню selectInput, аналогично тому, что делает pickerInput. Однако я не хочу использовать pickerInput, я хочу использовать selectInput / selectizeInput.

В одном из ответов упоминается, что вы можете использовать HTML, чтобы связать отключенную опцию с конкретным значением, которое вы хотите отключить. Кто-нибудь сможет предоставить пример кода, как это сделать в Shiny в коде оболочки ниже? Будет ли это похоже на условное форматирование в этой теме? R Shiny: условное форматирование selectInput элементы

library(shiny)

choices <- c("x", "y", "z")

ui <- fluidPage(
    selectizeInput("choices","Choices", choices = choices)
)

server <- function(input, output,session) {}

shinyApp(ui = ui, server = server)

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете сделать:

library(shiny)

choices <- c("x", "y", "z")

ui <- fluidPage(
  selectizeInput(
    "choices", "Choices", choices = choices,
    options = list(
      render = I(
        "{
           option: function(item, escape) {
                      if (item.value === 'y') {
                        return '<div style=\"pointer-events: none; color: #aaa;\">' + escape(item.label) + '</div>';
                      }
                      return '<div>' + escape(item.label) + '</div>';
                 }
        }"
      )
    )
  )
)

server <- function(input, output,session) {}

shinyApp(ui = ui, server = server)

Но это намного проще с inyWidgets :: pickerInput ;)

...