Вместо этого я попробовал использовать selectbox, но страницы складываются. Если я выберу A, он напечатает A, затем, если я выберу B, он напечатает B, но оставит A видимым, затем, если я снова выберу A, он напечатает его снова и произойдет сбой из-за уникальных ключей.
Код: Выделить всё
# User selects which dashboard to view
tab_names = ['A','B','C']
tab = st.selectbox('Select tab', list(tab_names))
# This section I want to run only once
if 'var' not in st.session_state:
st.session_state['var'] = do_commonstuff()
var = st.session_state['var']
# This section I want to run depending on the selection
if tab == 'A': do_A() # this generates a page, including some user inputs
if tab == 'B': do_B() # also
Подробнее здесь: https://stackoverflow.com/questions/791 ... lected-tab