Help parameter on button doesn't work with session state input

Having a session state inside the logic for my help_text variable used in the help parameter of a button stops the button from working. The button still shows the two different strings correctly, but does nothing when clicked. Doing a conditional without the session_state.save_disabled makes it work, but with the session state it breaks. Printing the session state shows the correct output however.

Locally deployed
Streamlit version:
1.36.0
Python version: 3.11

test-GoogleChrome2024-07-1910-46-22-ezgif.com-video-to-gif-converter

Does it this you are trying to accomplish ?

import streamlit as st

uploaded_file_name_formatted = 'bob' 

if 'save_disabled' not in st.session_state:
    st.session_state.save_disabled = True  # Initialize with True if not set

if st.button('Change State'):
    st.session_state.save_disabled = not st.session_state.save_disabled

if st.session_state.save_disabled:
    help_text = "Report must be generated first"
else:
    help_text = f"Sends report to S3 folder named {uploaded_file_name_formatted}"

# Use the pre-determined help text in the button
if st.button("Send Report to S3", disabled=st.session_state.save_disabled, help=help_text):
    # saveReport(S3_CLIENT, uploaded_file_name_formatted)
    st.title('savereport')

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.