如何在selectizeInput中实施选择分组?

时间:2019-08-29 12:17:40

标签: r shiny selectize.js

我想在selectizeInput中进行分组选择。这可以通过提供一个命名列表作为参数“ choices”来完成。 但是,如果一个组仅包含1个元素,则选项的“分组显示”不起作用。 我认为这会干扰为单个参数提供命名向量的选项。我该如何实现,即使选项组中恰好只有1个元素,也要始终对选项进行分组?

library(shiny)

shinyApp(
  ui = fluidPage(uiOutput("type")),

  server = function(input, output, session) {
    output$type <- renderUI({
      selectizeInput(inputId = "color",
                     label = "Color",
                     choices = list(one = c(3,5,2,5,6),
                                    two = c("no", "yes", "no"),
                                    three = "only_option"),
                     multiple = T)
    })
  }
)

在上述情况下,元素“ only_option”被错误地分配给组“ two”。

1 个答案:

答案 0 :(得分:0)

您必须提供单个选项作为列表:

library(shiny)

shinyApp(
  ui = fluidPage(uiOutput("type")),
  server = function(input, output, session) {
    output$type <- renderUI({
      selectizeInput(
        inputId = "color",
        label = "Color",
        choices = list(
          one = list(3, 5, 2, 5, 6),
          two = list("no", "yes", "no"),
          three = list("only_option")
        ),
        multiple = TRUE
      )
    })
  }
)

API documentation