--- title: TreeSelect sidebar_label: TreeSelect --- import { StoryWithControls } from '../../../src/components/StorybookWrapper'; # TreeSelect TreeSelect is a select component that allows users to select from a tree structure. ## Live Example ## Try It Edit the code below to experiment with the component: ```tsx live function Demo() { const [value, setValue] = React.useState(undefined); const treeData = [ { title: 'Databases', value: 'databases', children: [ { title: 'PostgreSQL', value: 'postgres' }, { title: 'MySQL', value: 'mysql' }, ], }, { title: 'Charts', value: 'charts', children: [ { title: 'Bar Chart', value: 'bar' }, { title: 'Line Chart', value: 'line' }, ], }, ]; return ( ); } ``` ## Multiple Selection with Checkboxes ```tsx live function MultiSelectTree() { const [value, setValue] = React.useState([]); const treeData = [ { title: 'Databases', value: 'databases', children: [ { title: 'PostgreSQL', value: 'postgres' }, { title: 'MySQL', value: 'mysql' }, { title: 'SQLite', value: 'sqlite' }, ], }, { title: 'File Formats', value: 'formats', children: [ { title: 'CSV', value: 'csv' }, { title: 'Excel', value: 'excel' }, ], }, ]; return ( ); } ``` ## With Tree Lines ```tsx live function TreeLinesDemo() { const treeData = [ { title: 'Dashboards', value: 'dashboards', children: [ { title: 'Sales Dashboard', value: 'sales' }, { title: 'Marketing Dashboard', value: 'marketing' }, ], }, { title: 'Charts', value: 'charts', children: [ { title: 'Revenue Chart', value: 'revenue' }, { title: 'User Growth', value: 'growth' }, ], }, ]; return ( ); } ``` ## Props | Prop | Type | Default | Description | |------|------|---------|-------------| | `allowClear` | `boolean` | `true` | Whether to allow clearing the selected value. | | `disabled` | `boolean` | `false` | Whether the component is disabled. | | `multiple` | `boolean` | `false` | Whether to allow multiple selections. | | `placeholder` | `string` | `"Please select"` | Placeholder text for the input field. | | `showSearch` | `boolean` | `true` | Whether to show the search input. | | `size` | `string` | `"middle"` | Size of the component. | | `treeCheckable` | `boolean` | `false` | Whether to show checkable tree nodes. | | `treeDefaultExpandAll` | `boolean` | `true` | Whether to expand all tree nodes by default. | | `treeLine` | `boolean` | `false` | Whether to show tree lines. | | `variant` | `string` | `"outlined"` | Variant of the component. | | `treeData` | `any` | `[{"title":"Node1","value":"0-0","children":[{"title":"Child Node1","value":"0-0-0"},{"title":"Child Node2","value":"0-0-1"}]},{"title":"Node2","value":"0-1","children":[{"title":"Child Node3","value":"0-1-0"}]}]` | - | ## Import ```tsx import { TreeSelect } from '@superset/components'; ``` --- :::tip[Improve this page] This documentation is auto-generated from the component's Storybook story. Help improve it by [editing the story file](https://github.com/apache/superset/edit/master/superset-frontend/packages/superset-ui-core/src/components/TreeSelect/TreeSelect.stories.tsx). :::