Streamlit Component for ANT Tree
Project description
Streamlit ANT Tree Select Component
The Streamlit ANT Tree Select Component adds a hierarchical dropdown selector to Streamlit, based on Ant Design Tree Select. It supports nested selections, multiple selection, and search functionality.
Installation
Install with pip:
pip install st-ant-tree
Usage
The component is initialized by calling st_ant_tree. It returns a list of selected values.
from st_ant_tree import st_ant_tree
# Define tree data
tree_data = [
{
"value": "parent_1",
"title": "Parent 1",
"children": [
{"value": "child_1", "title": "Child 1"},
{"value": "child_2", "title": "Child 2"},
],
},
{"value": "parent_2", "title": "Parent 2"},
]
# Use the component
selected_values = st_ant_tree(
treeData=tree_data,
treeCheckable=True,
allowClear=True
)
st.write(f"Selected values: {selected_values}")
Tree Data Structure
The tree data should be a list of dictionaries, where each dictionary represents a tree node. Keys include:
value(required): The value returned when the node is selected.title(required): The label shown in the dropdown (can include HTML).children(optional): A list of child nodes (nested structure).disabled(optional): Disables the node.
Default Selection
To set a default selection, use the defaultValue parameter with a list of node values.
# Define tree data
tree_data = [
{
"value": "parent_1",
"title": "Parent 1",
"children": [
{"value": "child_1", "title": "Child 1"},
{"value": "child_2", "title": "Child 2"},
],
},
{"value": "parent_2", "title": "Parent 2"},
]
# Set default selection
selected_values = st_ant_tree(
treeData=tree_data,
defaultValue=["child_1"], # List of default selected values
treeCheckable=True
)
Parameters
Key parameters and their purpose:
treeData(list): The hierarchical data for the dropdown.defaultValue(list): Preselected values.allowClear(bool): Enables clearing selected values.treeCheckable(bool): Adds checkboxes for multi-select.showSearch(bool): Enables search functionality.max_height(int): Maximum height of the dropdown.width_dropdown(str): Width of the dropdown (e.g.,"90%").placeholder(str): Placeholder text for the selector.treeLine(bool): Displays lines connecting tree nodes.
Example: Searchable Dropdown
# Define tree data
tree_data = [
{
"value": "parent_1",
"title": "Parent 1",
"children": [
{"value": "child_1", "title": "Child 1"},
{"value": "child_2", "title": "Child 2"},
],
},
{"value": "parent_2", "title": "Parent 2"},
]
# Create a searchable dropdown
selected_values = st_ant_tree(
treeData=tree_data,
showSearch=True,
placeholder="Search and select",
treeCheckable=True
)
st.write(f"Selected values: {selected_values}")
Features
- Nested Selections: Supports parent-child relationships in dropdowns.
- Multiple Selection: Enable with
treeCheckable=True. - Search: Matches input with both
valueandtitleof nodes. - Custom Styling: Use HTML in
titleor modify dropdown dimensions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file st_ant_tree-0.0.15-py3-none-any.whl.
File metadata
- Download URL: st_ant_tree-0.0.15-py3-none-any.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf294e1b468f1de7c400cdb74c9f3fea4c3512d7ecac378a81d014fed4b61366
|
|
| MD5 |
09fd763dbec8ad1eadf4c45ce9bddc80
|
|
| BLAKE2b-256 |
8fc2269c39abc53dc7b7abf6cee0b4caaa5222d1f9760cdf5ca0746cdfb691fa
|