Action button/link — actionButton
R/input-action.R
Description
Creates an action button or link whose value is initially zero, and increments by one each time it is pressed.
Arguments
- inputId
The
input
slot that will be used to access the value.- label
The contents of the button or link--usually a text label, but you could also use any other HTML, like an image.
- icon
An optional
icon()
to appear on the button.- width
The width of the input, e.g.
'400px'
, or'100%'
; seevalidateCssUnit()
.- ...
Named attributes to be applied to the button or link.
Server value
An integer of class "shinyActionButtonValue"
. This class differs from
ordinary integers in that a value of 0 is considered "falsy".
This implies two things:
Event handlers (e.g.,
observeEvent()
,eventReactive()
) won't execute on initial load.Input validation (e.g.,
req()
,need()
) will fail on initial load.
See also
observeEvent()
and eventReactive()
Other input elements:
checkboxGroupInput()
,
checkboxInput()
,
dateInput()
,
dateRangeInput()
,
fileInput()
,
numericInput()
,
passwordInput()
,
radioButtons()
,
selectInput()
,
sliderInput()
,
submitButton()
,
textAreaInput()
,
textInput()
,
varSelectInput()
Examples
## Only run examples in interactive R sessions
if (interactive()) {
ui <- fluidPage(
sliderInput("obs", "Number of observations", 0, 1000, 500),
actionButton("goButton", "Go!", class = "btn-success"),
plotOutput("distPlot")
)
server <- function(input, output) {
output$distPlot <- renderPlot({
# Take a dependency on input$goButton. This will run once initially,
# because the value changes from NULL to 0.
input$goButton
# Use isolate() to avoid dependency on input$obs
dist <- isolate(rnorm(input$obs))
hist(dist)
})
}
shinyApp(ui, server)
}
## Example of adding extra class values
actionButton("largeButton", "Large Primary Button", class = "btn-primary btn-lg")
actionLink("infoLink", "Information Link", class = "btn-info")