| listbox | R Documentation |
A listbox displays a list of options and allows a user to select one or more of them.
listbox(inputId, ..., value = default_value)
listbox_section(...)
listbox_item(...)
update_listbox(session = shiny::getDefaultReactiveDomain(), inputId, ...)
inputId |
ID of the component. |
... |
Props to pass to the component. The allowed props are listed below in the Details section. |
value |
Starting value. |
session |
Object passed as the |
children*. Type: ReactNode[]. Default: NA.
items. Type: Iterable<T>. Default: NA.
variant. Type: solid OR bordered OR light OR flat OR faded OR shadow. Default: "solid".
color. Type: default OR primary OR secondary OR success OR warning OR danger. Default: "default".
selectionMode. Type: none OR single OR multiple. Default: NA.
selectedKeys. Type: React.Key[]. Default: NA.
disabledKeys. Type: React.Key[]. Default: NA.
defaultSelectedKeys. Type: all OR React.Key[]. Default: NA.
disallowEmptySelection. Type: boolean. Default: false.
shouldHighlightOnFocus. Type: boolean. Default: false.
autoFocus. Type: boolean OR first OR last. Default: false.
topContent. Type: ReactNode. Default: NA.
bottomContent. Type: ReactNode. Default: NA.
emptyContent. Type: ReactNode. Default: "No items.".
shouldFocusWrap. Type: boolean. Default: false.
isVirtualized. Type: boolean. Default: false.
virtualization. Type: Record<"maxListboxHeight" & "itemHeight", number>. Default: NA.
hideEmptyContent. Type: boolean. Default: false.
hideSelectedIcon. Type: boolean. Default: false.
disableAnimation. Type: boolean. Default: false.
classNames. Type: Partial<Record<"base" OR "list" OR "emptyContent", string>>. Default: NA.
itemClasses. Type: Partial<Record<"base" OR "wrapper" OR "title" OR "description" OR "selectedIcon", string>>. Default: NA.
onAction. Type: (key: React.Key) => void. Default: NA.
onSelectionChange. Type: (keys: React.Key[]) => void. Default: NA.
children*. Type: ReactNode. Default: NA.
title. Type: string. Default: NA.
items. Type: Iterable<T>. Default: NA.
hideSelectedIcon. Type: boolean. Default: false.
showDivider. Type: boolean. Default: false.
dividerProps. Type: DividerProps. Default: NA.
classNames. Type: Partial<Record<"base" OR "heading" OR "group" OR "divider", string>>. Default: NA.
itemClasses. Type: Partial<Record<"base" OR "wrapper" OR "title" OR "description" OR "shortcut" OR "selectedIcon", string>>. Default: NA.
children*. Type: ReactNode. Default: NA.
key. Type: React.Key. Default: NA.
title. Type: string OR ReactNode. Default: NA.
textValue. Type: string. Default: NA.
description. Type: string OR ReactNode. Default: NA.
shortcut. Type: string OR ReactNode. Default: NA.
startContent. Type: ReactNode. Default: NA.
endContent. Type: ReactNode. Default: NA.
selectedIcon. Type: ListboxItemSelectedIconProps. Default: NA.
href. Type: string. Default: NA.
target. Type: HTMLAttributeAnchorTarget. Default: NA.
rel. Type: string. Default: NA.
download. Type: boolean OR string. Default: NA.
ping. Type: string. Default: NA.
referrerPolicy. Type: HTMLAttributeReferrerPolicy. Default: NA.
shouldHighlightOnFocus. Type: boolean. Default: false.
hideSelectedIcon. Type: boolean. Default: false.
showDivider. Type: boolean. Default: false.
isDisabled. Type: boolean. Default: false.
isSelected. Type: boolean. Default: false.
isReadOnly. Type: boolean. Default: false.
classNames. Type: Partial<Record<"base" OR "wrapper" OR "title" OR "description" OR "shortcut" OR "selectedIcon", string>>. Default: NA.
onAction. Type: () => void. Default: NA.
onPress. Type: (e: PressEvent) => void. Default: NA.
onPressStart. Type: (e: PressEvent) => void. Default: NA.
onPressEnd. Type: (e: PressEvent) => void. Default: NA.
onPressChange. Type: (isPressed: boolean) => void. Default: NA.
onPressUp. Type: (e: PressEvent) => void. Default: NA.
onKeyDown. Type: (e: KeyboardEvent) => void. Default: NA.
onKeyUp. Type: (e: KeyboardEvent) => void. Default: NA.
onClick. Type: MouseEventHandler. Default: NA.
An object of class shiny.tag containing the
necessary configuration and including options such as JavaScript
dependencies to instantiate a HeroUI listbox component.
See https://heroui.com/docs/components/listbox.
library(shiny)
library(shinyNextUI)
library(shiny.react)
animals <- list(
list(
label = "Bulbasaur",
value = "bulbasaur",
description = "Blabla",
avatar = "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png"
),
list(
label = "Pikachu",
value = "pikachu",
description = "Electric mouse",
avatar = "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png"
)
)
items <- lapply(animals, function(animal) {
listbox_item(
key = animal[["value"]],
description = animal[["description"]],
startContent = avatar(src = animal[["avatar"]]),
animal[["label"]]
)
})
ui <- nextui_page(
debug_react = TRUE,
spacer(y = 4),
action_button("update", "Update to Pikachu?"),
spacer(y = 4),
div(
class = "w-full max-w-[260px] border-small px-1 py-2
rounded-small border-default-200 dark:border-default-100",
listbox(
"listbox",
label = "Select a pokemon",
value = "bulbasaur",
variant = "flat",
selectionMode = "single",
listbox_section(
title = "Default pokemons",
items
)
)
),
textOutput("res")
)
server <- function(input, output, session) {
output$res <- renderText(input$listbox)
observeEvent(input$listbox, {
print(input$listbox)
})
observeEvent(input$update, {
update_listbox(session, "listbox", value = JS("['pikachu']"))
})
}
if (interactive() || is_testing()) shinyApp(ui, server)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.