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
inputslot 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().- disabled
If
TRUE, the button will not be clickable. UseupdateActionButton()to dynamically enable/disable the button.- ...
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")