I wanted to group my selectInput
data as explained here: https://shiny.rstudio.com/gallery/option-groups-for-selectize-input.html. Everything works except the situation where there is only one item in the group.
Here is an example (with correct first selectInput
and strange second one):
library(shiny)
ui <- fluidPage(
selectInput("country", "Select country", list(
"Europe" = c("Germany", "Spain"),
"North America" = c("Canada", "United States" = "USA")
)),
selectInput("country", "Select country", list(
"Europe" = c("Germany", "Spain"),
"North America" = c("Canada")
))
)
server <- function(input, output, session) {
}
shinyApp(ui = ui, server = server)
And the effect:
Do you know how to deal with that?
You need to use list()
instead of c()
if there is a single element. If there is more than one element you can use either list()
or c()
.
ui <- fluidPage(
selectInput("country", "Select country", list(
"Europe" = list("Germany", "Spain"),
"North America" = list("Canada", "United States" = "USA")
)),
selectInput("country", "Select country", list(
"Europe" = list("Germany", "Spain"),
"North America" = list("Canada")
))
)