express.ui.update_sidebar
Update a sidebar's visibility.
Set a sidebar state during an active Shiny user session.
Parameters
id : str
-
The
id
of the sidebar to toggle. show : Optional[bool] = None
-
The desired visible state of the sidebar, where
True
opens the sidebar andFalse
closes the sidebar (if not already in that state). session : Optional[
Session
] = None-
A Shiny session object (the default should almost always be used).
See Also
Examples
#| standalone: true
#| components: [editor, viewer]
#| layout: vertical
#| viewerHeight: 400
## file: app.py
from shiny import reactive
from shiny.express import input, render, ui
with ui.sidebar(id="sidebar"):
"Sidebar content"
ui.input_action_button("open_sidebar", label="Open sidebar", class_="me-3")
ui.input_action_button("close_sidebar", label="Close sidebar", class_="me-3")
@render.text
def state():
return f"input.sidebar(): {input.sidebar()}"
@reactive.effect
@reactive.event(input.open_sidebar)
def _():
ui.update_sidebar("sidebar", show=True)
@reactive.effect
@reactive.event(input.close_sidebar)
def _():
ui.update_sidebar("sidebar", show=False)