Learn R Programming

shiny.tailwind (version 0.2.2)

twVarSelectInput: Wrapper around shiny::varSelectInput() but allowing for more classes

Description

Wrapper around shiny::varSelectInput() but allowing for more classes

Usage

twVarSelectInput(
  inputId,
  label,
  data,
  selected = NULL,
  multiple = FALSE,
  selectize = TRUE,
  width = NULL,
  container_class = NULL,
  label_class = NULL,
  select_class = NULL
)

Value

a list with a shiny.tag class

Arguments

inputId

The input slot that will be used to access the value.

label

Display label for the control, or NULL for no label.

data

A data frame. Used to retrieve the column names as choices for a selectInput()

selected

The initially selected value (or multiple values if multiple = TRUE). If not specified then defaults to the first value for single-select lists and no values for multiple select lists.

multiple

Is selection of multiple items allowed?

selectize

Whether to use selectize.js or not.

width

The width of the input, e.g. '400px', or '100%'; see validateCssUnit().

container_class

additional classes to be applied to the container

label_class

additional classes to be applied to the label

select_class

additional classes to be applied to the select elements

See Also

Examples

Run this code
shiny::varSelectInput("id", "label", mtcars,
  width = "200px",
  selected = c("vs", "cyl"), multiple = TRUE
)
twVarSelectInput("id", "label", mtcars,
  selected = c("vs", "cyl"), width = "200px",
  multiple = TRUE, selectize = TRUE,
  container_class = "CONTAINER", label_class = "LABEL",
  select_class = "SELECT"
)

# basic full shiny example
library(shiny)
# basic example
ui <- fluidPage(
  use_tailwind(),
  twVarSelectInput(
    "variable", "Variable to select:",
    mtcars,
    multiple = TRUE,
    # Apply tailwind classes
    container_class = "shadow-md rounded-md bg-gray-50 m-4 p-2 w-64",
    label_class = "font-serif",
    select_class = "font-mono font-bold text-red-800 rounded-md bg-stone-50"
  ),
  tableOutput("data")
)

server <- function(input, output) {
  output$data <- renderTable(
    {
      mtcars[[input$variable]]
    },
    rownames = TRUE
  )
}

if (interactive()) shiny::shinyApp(ui_basic, server)

Run the code above in your browser using DataLab