Some issues arise in streamlit when we want to hide a widget or set of widgets. The SessionState hack mostly gets around this, but brings up another problem where a user has to make a change twice for it to "stick". The files in this repo demo these issues.
First run streamlit run 0_hideable_column_selection_no_sessionstate.py
. This
shows why storing the output of the hideable widget with SessionState looks
necessary to me.
Next, run streamlit run 1_hideable_column_selection_with_sessionstate.py
.
This shows the problem that I run into when actually using SessionState
Finally, run streamlit run 2_sessionstate_default_value_error_mvp.py
. This
is an MVP showing the problem I'm facing.