Streamlit Multiple Forms
Streamlitのform機能についての話.1つのセッションで複数使用するとフォーム提出時に他のフォームが初期化されてしまう.
下のように,session_stateを使えばいけそう?
バージョンは streamlit 1.18.1.
import streamlit as st
st.title('Streamlit Multiple Form')
st.markdown('### Example')
with st.form('Form 1'):
out = st.text_input(label='Input text')
submitted=st.form_submit_button('click to submit Form 1')
if 'form1' in st.session_state:
submitted=True
if submitted:
st.markdown('#### ' + out)
st.session_state['form1']=1
with st.form('Form 2'):
out2 = st.text_input(label='Input text2')
submitted2=st.form_submit_button('click to submit Form 2')
if 'form2' in st.session_state:
submitted2=True
if submitted2:
st.markdown('#### ' + out2)
st.session_state['form2']=1
with st.form('Form 3'):
out3 = st.text_input(label='Input text3')
submitted3=st.form_submit_button('click to submit Form 3')
if 'form3' in st.session_state:
submitted3=True
if submitted3:
st.markdown('#### ' + out3)
st.session_state['form3']=1