mirror of
https://github.com/rstudio/shiny.git
synced 2026-01-14 09:28:02 -05:00
Squashed commit of the following: commit a095d75b67a0bad439e8d6c495ef81af25c0b1a9 Author: Winston Chang <winston@stdout.org> Date: Thu Sep 24 10:30:47 2020 -0500 Update NEWS commit 715a10ebd63c34eb2f464a7388e0b89b994bee0f Author: Winston Chang <winston@stdout.org> Date: Thu Sep 24 10:24:24 2020 -0500 Update docs for radioButtons about having none selected commit eff9036884693002a84f84df16cf699be2358c1c Author: Winston Chang <winston@stdout.org> Date: Thu Sep 24 10:15:59 2020 -0500 Cleaner check for no selected radioButtons commit 1666baa746f4dea986be4929720de2a5653acbb6 Merge:c0d35e84b04ba393Author: Winston Chang <winston@stdout.org> Date: Thu Sep 24 10:02:16 2020 -0500 Merge branch '2688' of https://github.com/ColinFay/shiny into ColinFay-2688 commitb04ba393b8Author: colin <colin@thinkr.fr> Date: Thu Sep 24 08:37:58 2020 +0200 changed the test structure commit866a86946aAuthor: colin <colin@thinkr.fr> Date: Sun Sep 13 20:50:44 2020 +0200 restore old `$escape` behavior commitd45af353fdAuthor: colin <colin@thinkr.fr> Date: Fri Sep 11 08:54:25 2020 +0200 added trailing ; and space before { commit5e95ee03a1Author: colin <colin@thinkr.fr> Date: Thu Sep 10 21:55:02 2020 +0200 return early if the value is undefined in setValue of radio commit24ac6ec624Author: colin <colin@thinkr.fr> Date: Thu Sep 10 21:53:41 2020 +0200 Testing that the type of val is a string, instead of relying on the length commit18ec3b8540Author: colin <colin@thinkr.fr> Date: Wed Sep 9 22:08:45 2020 +0200 Radio buttons can now be reset with character(0), and their value is set to NULL Close #2688 and close #2266 commitd7f66165d0Author: colin <colin@thinkr.fr> Date: Wed Sep 9 22:08:06 2020 +0200 Correct bug when $escape received an empty value
136 lines
4.0 KiB
R
136 lines
4.0 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/input-radiobuttons.R
|
|
\name{radioButtons}
|
|
\alias{radioButtons}
|
|
\title{Create radio buttons}
|
|
\usage{
|
|
radioButtons(
|
|
inputId,
|
|
label,
|
|
choices = NULL,
|
|
selected = NULL,
|
|
inline = FALSE,
|
|
width = NULL,
|
|
choiceNames = NULL,
|
|
choiceValues = NULL
|
|
)
|
|
}
|
|
\arguments{
|
|
\item{inputId}{The \code{input} slot that will be used to access the value.}
|
|
|
|
\item{label}{Display label for the control, or \code{NULL} for no label.}
|
|
|
|
\item{choices}{List of values to select from (if elements of the list are
|
|
named then that name rather than the value is displayed to the user). If
|
|
this argument is provided, then \code{choiceNames} and \code{choiceValues} must not
|
|
be provided, and vice-versa. The values should be strings; other types
|
|
(such as logicals and numbers) will be coerced to strings.}
|
|
|
|
\item{selected}{The initially selected value. If not specified, then it
|
|
defaults to the first item in \code{choices}. To start with no items selected,
|
|
use \code{character(0)}.}
|
|
|
|
\item{inline}{If \code{TRUE}, render the choices inline (i.e. horizontally)}
|
|
|
|
\item{width}{The width of the input, e.g. \code{'400px'}, or \code{'100\%'};
|
|
see \code{\link[=validateCssUnit]{validateCssUnit()}}.}
|
|
|
|
\item{choiceNames, choiceValues}{List of names and values, respectively, that
|
|
are displayed to the user in the app and correspond to the each choice (for
|
|
this reason, \code{choiceNames} and \code{choiceValues} must have the same length).
|
|
If either of these arguments is provided, then the other \emph{must} be provided
|
|
and \code{choices} \emph{must not} be provided. The advantage of using both of these
|
|
over a named list for \code{choices} is that \code{choiceNames} allows any type of UI
|
|
object to be passed through (tag objects, icons, HTML code, ...), instead
|
|
of just simple text. See Examples.}
|
|
}
|
|
\value{
|
|
A set of radio buttons that can be added to a UI definition.
|
|
}
|
|
\description{
|
|
Create a set of radio buttons used to select an item from a list.
|
|
}
|
|
\details{
|
|
If you need to represent a "None selected" state, it's possible to default
|
|
the radio buttons to have no options selected by using \code{selected = character(0)}. However, this is not recommended, as it gives the user no way
|
|
to return to that state once they've made a selection. Instead, consider
|
|
having the first of your choices be \code{c("None selected" = "")}.
|
|
}
|
|
\section{Server value}{
|
|
|
|
|
|
A character string containing the value of the selected button.
|
|
}
|
|
|
|
\examples{
|
|
## Only run examples in interactive R sessions
|
|
if (interactive()) {
|
|
|
|
ui <- fluidPage(
|
|
radioButtons("dist", "Distribution type:",
|
|
c("Normal" = "norm",
|
|
"Uniform" = "unif",
|
|
"Log-normal" = "lnorm",
|
|
"Exponential" = "exp")),
|
|
plotOutput("distPlot")
|
|
)
|
|
|
|
server <- function(input, output) {
|
|
output$distPlot <- renderPlot({
|
|
dist <- switch(input$dist,
|
|
norm = rnorm,
|
|
unif = runif,
|
|
lnorm = rlnorm,
|
|
exp = rexp,
|
|
rnorm)
|
|
|
|
hist(dist(500))
|
|
})
|
|
}
|
|
|
|
shinyApp(ui, server)
|
|
|
|
ui <- fluidPage(
|
|
radioButtons("rb", "Choose one:",
|
|
choiceNames = list(
|
|
icon("calendar"),
|
|
HTML("<p style='color:red;'>Red Text</p>"),
|
|
"Normal text"
|
|
),
|
|
choiceValues = list(
|
|
"icon", "html", "text"
|
|
)),
|
|
textOutput("txt")
|
|
)
|
|
|
|
server <- function(input, output) {
|
|
output$txt <- renderText({
|
|
paste("You chose", input$rb)
|
|
})
|
|
}
|
|
|
|
shinyApp(ui, server)
|
|
}
|
|
|
|
}
|
|
\seealso{
|
|
\code{\link[=updateRadioButtons]{updateRadioButtons()}}
|
|
|
|
Other input elements:
|
|
\code{\link{actionButton}()},
|
|
\code{\link{checkboxGroupInput}()},
|
|
\code{\link{checkboxInput}()},
|
|
\code{\link{dateInput}()},
|
|
\code{\link{dateRangeInput}()},
|
|
\code{\link{fileInput}()},
|
|
\code{\link{numericInput}()},
|
|
\code{\link{passwordInput}()},
|
|
\code{\link{selectInput}()},
|
|
\code{\link{sliderInput}()},
|
|
\code{\link{submitButton}()},
|
|
\code{\link{textAreaInput}()},
|
|
\code{\link{textInput}()},
|
|
\code{\link{varSelectInput}()}
|
|
}
|
|
\concept{input elements}
|