I have a sidebar to select a date as filter, just like below:
unique_dates = sorted(list(set(dates)), reverse=True)
selected_date = st.sidebar.selectbox("Select a date", unique_dates, key='date_selector')
as you can see, the sibar date select opinion only showing dates in the ‘unique_dates’.
However, I was wondering if I can pass this parameter on the st.sidebar.date_input() as well?
like below for example:
Anyway to input my ‘unique_dates’ into this calendar, that only date in the ‘unique_dates’ will be black, others will shown as grey or something?
like in my case, since my ‘unique_dates’ doesnt have date ‘2023-06-11’, so the calendar on that date, will be grey and maybe unclickable.
thank you very much:)
By default, the
st.data_input() does not appear to support greying out specific dates. What is possible is specifying the date range via
min_value and `max_value) parameters (st.date_input - Streamlit Docs). It may be possible to create an implementation but that may require creating a custom component (Create a Component - Streamlit Docs).
An alternative solution may be to have users select a date via
st.date_input then perform a list comprehension to see if the selected date is available in the
unique_dates variable. Next, use if-else conditions to print out a message to users whether the selected date is available or not.
Hope this helps!
@dataprofessor Thanks for your reply, I will try with your suggestion:P
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.