How to prevent select box from refreshing entire page

Please how to prevent this select box from refreshing an entire page when selected.


add_selectbox = st.selectbox(
    'How would you like to be contacted?',
    ('Email', 'Home phone', 'Mobile phone')
)

Wrap your widget,etc. in a function and decorate the function with a fragment. To make the selection accessible in other parts of the app for the entire session, save that in a session state variable.

Here is an example.

import streamlit as st
from streamlit import session_state as ss


st.set_page_config(layout='centered')


if 'contact' not in ss:
    ss.contact = None


@st.experimental_fragment
def my_selectbox():
    add_selectbox = st.selectbox(
        'How would you like to be contacted?',
        ('Email', 'Home phone', 'Mobile phone')
    )
    ss.contact = add_selectbox

    st.write(f'contact: {ss.contact}')


my_selectbox()
1 Like

Thanks alot

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