-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
onChange event not working on Streamlit 1.34 #35
Comments
@okld is this repo still mantained? we love your library and use it extensively throughout our projects Thanks! 😀 |
Bump |
Bump x2 |
Bump |
Hello! This issue is related to the refactoring of streamlit in using custom components. It is possible to restore the previous functionality by replacing in the file /streamlit_elements/core/callback.py: However, I hope the streamlit developers will fix this issue in future releases. |
Thanks @KhabarovaNina a lot! I made a small script to patch it automatically (needed for our Docker builds), hope it helps other people :) import os
import streamlit_elements
import re
def patch_streamlit_elements():
# issue: https://github.com/okld/streamlit-elements/issues/35
relative_file_path = 'core/callback.py'
library_root = list(streamlit_elements.__path__)[0]
file_path = os.path.join(library_root, relative_file_path)
# Read broken file
with open(file_path, 'r') as file:
lines = file.readlines()
broken_import = 'from streamlit.components.v1 import components'
fixed_import = 'from streamlit.components.v1 import custom_component as components\n'
# Fix broken import line
for index, line in enumerate(lines):
if re.match(broken_import, line):
print(f'Replaced broken import in {file_path}')
lines[index] = fixed_import
# Update broken file with fix
with open(file_path, 'w') as file:
file.writelines(lines)
if __name__ == "__main__":
patch_streamlit_elements() |
This is awesome, vikvikvr, thank you very much, the script still works great! 👍 |
onChange event is not working after Streamlit 1.34 release.
The text was updated successfully, but these errors were encountered: