ui.input_action_button
ui.input_action_button(id, label, *, icon=None, width=None, **kwargs)
Creates an action button whose value is initially zero, and increments by one each time it is pressed.
Parameters
Returns
Type | Description |
---|---|
Tag | A UI element |
Notes
Server value
An integer representing the number of clicks.
See Also
Examples
#| standalone: true
#| components: [editor, viewer]
#| layout: vertical
#| viewerHeight: 400
## file: app.py
import matplotlib.pyplot as plt
import numpy as np
from shiny import App, Inputs, Outputs, Session, reactive, render, ui
app_ui = ui.page_fluid(
ui.input_slider("n", "Number of observations", min=0, max=1000, value=500),
ui.input_action_button("go", "Go!", class_="btn-success"),
ui.output_plot("plot"),
)
def server(input: Inputs, output: Outputs, session: Session):
@render.plot(alt="A histogram")
# Use reactive.event() to invalidate the plot only when the button is pressed
# (not when the slider is changed)
@reactive.event(input.go, ignore_none=False)
def plot():
np.random.seed(19680801)
x = 100 + 15 * np.random.randn(input.n())
fig, ax = plt.subplots()
ax.hist(x, bins=30, density=True)
return fig
app = App(app_ui, server)