File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import streamlit as st
2+
3+ num_elements = 10
4+
5+ st .set_page_config (page_title = "Mock element Slider" , layout = "centered" )
6+
7+ element_ids = [f"mock-element-{ i :02d} " for i in range (num_elements )]
8+ element_to_idx = {element_id : idx for idx , element_id in enumerate (element_ids )}
9+
10+ url_element_id = st .query_params .get ("element_id" )
11+ if (
12+ "mock_element_id" not in st .session_state
13+ or st .session_state ["mock_element_id" ] not in element_to_idx
14+ ):
15+ st .session_state ["mock_element_id" ] = (
16+ url_element_id if url_element_id in element_to_idx else element_ids [0 ]
17+ )
18+
19+ with st .container (key = "mock-element-slider" ):
20+ st .select_slider (
21+ "element" ,
22+ options = element_ids ,
23+ key = "mock_element_id" ,
24+ label_visibility = "collapsed" ,
25+ )
26+
27+ st .query_params ["element_id" ] = st .session_state ["mock_element_id" ]
28+
29+ current_element_id = st .session_state ["mock_element_id" ]
30+ current_idx = element_to_idx [current_element_id ]
31+ with st .popover (f"element `{ current_element_id } `" ):
32+ st .markdown (f"({ current_idx } /{ num_elements } )" )
You can’t perform that action at this time.
0 commit comments