It’s amazing how easy it is to build dynamic web apps with Streamlit !
I needed a panel of repeating elements for a project. To show what i mean I made this example for you (see below): You can select elements (“events”) and then enter a date for each element. After clicking the “Sort by Date”-button the elements/“events” will be sorted by date. This was only possible by using st.session_state() and st.experimental_rerun() (please tell me if there’s a better way to do this). It would be wonderful if st.experimental_rerun() would find its way to Streamlit core someday
Nice one! Rerun and session state is a reasonable way to do this. If you want more interactivity (drag & drop, fancy styling, different views, etc.) then Streamlit supports component extensibility using React and other web frameworks.
Thank you @asehmi! Probably I should use react for creating customized components… However, I haven’t used React for ages so i tried to solve my problem in pure Python
I think streamlit-elements holds the key for those of us who can’t go deep into React components but still are able to achieve some magic. Not that Streamlit itself isn’t magic enough!!