Update state of St.Expander with a component?

A problem with st.expander is that each time the code reruns it returns to the expanded/closed state determined by the expanded=True/False argument. Apparently this is because the expanded state is handled by the front end and not passed to the back end. Can this be bridged with a component? Can a js component be written that senses the st.expander state and pass it back to Python via Streamlit.setComponentValue()?

Hi @efrank

Streamlit has a session state that you can use to remember the True/False state of the expander widget.

More info on Session State in the Docs page:

And some example code snippets that you can get ideas from:

Thank you, I understand how to use st.session_state, but I don’t know to capture “the True/False state of the expander widget”. I found this post which I understand to mean the True/False state is managed by the front end and is not passable to the back end.


This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.