In the GUI below, I would like to have the following behaviour, if the user clicks on a button:
the screen is reset and the inoformation about this project is displayed. however, all i am able to do is to continue writing on the existing screen. Is it possible to reset the screen and start witing the information to the empty screen?
st.markdown('### Projects')
for index, row in self.projects.iterrows():
col1, col2 = st.beta_columns([6,1])
with col1:
st.markdown(f"**{row['name']}**({row['short_name']})", unsafe_allow_html=True)
st.markdown(row['description'])
with col2:
if st.button(label='Open',key=row['id']):
self.current_project = Project(row, self)
self.current_project.info()
You are going to need a flag that tells Streamlit not to run the content preceding the button.
This can be done with either the session state implementation
Or it can be done with the get/set query parameters. You could have a “reset button pusher is true” parameter that causes the page to behave differently when that parameter is in the URL