To help the user I’m trying to prefill st.form
with random values, but the text_input field updates with random values when the form is clicked, and ignores the user input.
I understand it’s to do with how streamlit control flow works – but I thought that was the point of st.form, to pause the flow for user input?
Example:
import streamlit as st
import random
selection = None
cities = ['London', 'Singapore', 'Alexandria']
rand_city = random.sample(cities, 1)[0]
with st.form(key='selector'):
city = st.text_input('Select city', rand_city)
submitted = st.form_submit_button('➡️ Submit')
if submitted: selection = city
st.write('rand_city = ', rand_city)
st.write('selection = ', selection)
Thanks