Streamlit Button Select Component
Sometimes you want a user to make a selection, but you only have a few options.
Using an st.selectbox
component works, but wouldn't it be easier to simply have a few buttons in a row ?
Well, this custom component allows just that !
Installation
pip install st_row_buttons
Getting Started
Creating a Button Selection is really easy.
from st_row_buttons import st_row_buttons
selection = st_row_buttons(('option 1', 'option 2', 'option 3'))
You can also use this component as a small top navigation bar.
from st_row_buttons import st_row_buttons
page = st_row_buttons(
('home', 'about', 'docs', 'playground'),
nav=True,
format_func=lambda name: name.capitalize(),
)
if page == 'home':
st.write('HOMEPAGE')
NOTE
There can only be one navbar per page, as they will be displayed on top of each other.
The navbar buttons do not set any URL hashes, and thus the different pages are not bookmarkable, nor can you use the browser history.
Documentation
Check out this streamlit app for the documentation, as well as a demo.
pypi-AgEIcHlwaS5vcmcCJGE1ZDc3MWY2LWZiZjMtNDM1Yy04YzMxLTAwZjQwNThlNjIwZgACJXsicGVybWlzc2lvbnMiOiAidXNlciIsICJ2ZXJzaW9uIjogMX0AAAYgr88ILL5mY-1H0rgPN5UjLUTt8ggY2ODParisMq71Bnc