A text input only triggered when Enter key is pressed or search button clicked
Usage
searchInput(
inputId,
label = NULL,
value = "",
placeholder = NULL,
btnSearch = NULL,
btnReset = NULL,
btnClass = "btn-default btn-outline-secondary",
resetValue = "",
width = NULL
)
Arguments
- inputId
The input slot that will be used to access the value.
- label
Display label for the control, or NULL for no label.
- value
Initial value.
- placeholder
A character string giving the user a hint as to what can be entered into the control.
- btnSearch
An icon for the button which validate the search.
- btnReset
An icon for the button which reset the search.
- btnClass
Class to add to buttons, if a vector of length 2 the first value is used for search button and second one for reset button.
- resetValue
Value used when reset button is clicked, default to
""
(empty string), ifNULL
value is not reset.- width
The width of the input, e.g.
400px
, or100%
.
Note
The two buttons ('search' and 'reset') act like shiny::actionButton()
, you can
retrieve their value server-side with input$<INPUTID>_search
and input$<INPUTID>_reset
.
See also
updateSearchInput()
to update value server-side.
Examples
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
# theme = bslib::bs_theme(version = 5L, preset = "bootstrap"),
tags$h1("Search Input"),
br(),
searchInput(
inputId = "search", label = "Enter your text",
placeholder = "A placeholder",
btnSearch = icon("magnifying-glass"),
btnReset = icon("xmark"),
width = "450px"
),
br(),
verbatimTextOutput(outputId = "res")
)
server <- function(input, output, session) {
output$res <- renderPrint(input$search)
}
if (interactive())
shinyApp(ui = ui, server = server)