After rerun, the session state values are refreshed, but on the screen, the st.session_state.StartTime and st.session_state.EndTime values are stil the same like before. So I have the correct values in the background, but the input is not refreshed on the screen. the code:
# Buttons for preset date ranges
with col1:
if st.button(‘Today’):
st.session_state.StartDate = datetime.today().date()
st.session_state.EndDate = datetime.today().date()
st.session_state.StartTime = time(0, 0)
st.session_state.EndTime = time(23, 59)
st.rerun()
with col2:
if st.button('Yesterday'):
yesterday = datetime.today() - timedelta(days=1)
st.session_state.StartDate = yesterday.date()
st.session_state.EndDate = yesterday.date()
st.session_state.StartTime = time(0, 0)
st.session_state.EndTime = time(23, 59)
st.rerun()
with col3:
if st.button('This Week'):
start, end = get_current_week()
st.session_state.StartDate = start.date()
st.session_state.EndDate = end.date()
st.session_state.StartTime = time(0, 0)
st.session_state.EndTime = time(23, 59)
st.rerun()
with col4:
if st.button('Previous Week'):
start, end = get_previous_week()
st.session_state.StartDate = start.date()
st.session_state.EndDate = end.date()
st.session_state.StartTime = time(0, 0)
st.session_state.EndTime = time(23, 59)
st.rerun()
col1, col2, col3 = st.columns([0.2,0.2,0.6])
# Date and time inputs
with col1:
st.session_state.StartDate = st.date_input('Start Date', st.session_state.StartDate)
st.session_state.EndDate = st.date_input('End Date', st.session_state.EndDate)
with col2:
cur_val=st.session_state.StartTime
st.session_state.StartTime = st.time_input('Start Time', st.session_state.StartTime)
st.session_state.EndTime = st.time_input('End Time', st.session_state.EndTime)