If it helps others, I wrote a small, easy-to-use module to improve the functionality of st.data_editor() widgets acting on dataframes, solving the following problems for me:
- Retrieving the contents of the edited dataframe (the robust way to do it is to use
st.session_state
and not the output from the widget) - Losing changes made to dataframes on multi-page apps after leaving and coming back to the page
- Unresponsive resetting of the contents of the dataframe back to the original contents