Spaces:
Paused
Paused
Download docs/developer_docs_versioned_docs/version-6.1.0/components/ui/select.mdx from Leon4gr45/powerbi: direct link, hf CLI and curl.
- Browser
- Download file 14.8 kB
-
https://huggingface.co/spaces/Leon4gr45/powerbi/resolve/main/docs/developer_docs_versioned_docs/version-6.1.0/components/ui/select.mdx
- Command line
-
hf download hf://spaces/Leon4gr45/powerbi/docs/developer_docs_versioned_docs/version-6.1.0/components/ui/select.mdx
-
curl -L -o select.mdx https://huggingface.co/spaces/Leon4gr45/powerbi/resolve/main/docs/developer_docs_versioned_docs/version-6.1.0/components/ui/select.mdx
14.8 kB
| --- | |
| title: Select | |
| sidebar_label: Select | |
| --- | |
| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one | |
| or more contributor license agreements. See the NOTICE file | |
| distributed with this work for additional information | |
| regarding copyright ownership. The ASF licenses this file | |
| to you under the Apache License, Version 2.0 (the | |
| "License"); you may not use this file except in compliance | |
| with the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, | |
| software distributed under the License is distributed on an | |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations | |
| under the License. | |
| --> | |
| import { StoryWithControls } from '../../../../src/components/StorybookWrapper'; | |
| # Select | |
| A versatile select component supporting single and multi-select modes, search filtering, option creation, and both synchronous and asynchronous data sources. | |
| ## Live Example | |
| <StoryWithControls | |
| component="Select" | |
| props={{ | |
| mode: 'single', | |
| placeholder: 'Select ...', | |
| showSearch: true, | |
| allowNewOptions: false, | |
| allowClear: false, | |
| allowSelectAll: true, | |
| disabled: false, | |
| invertSelection: false, | |
| oneLine: false, | |
| maxTagCount: 4, | |
| options: [ | |
| { | |
| label: 'Such an incredibly awesome long long label', | |
| value: 'long-label-1', | |
| }, | |
| { | |
| label: 'Another incredibly awesome long long label', | |
| value: 'long-label-2', | |
| }, | |
| { | |
| label: 'Option A', | |
| value: 'A', | |
| }, | |
| { | |
| label: 'Option B', | |
| value: 'B', | |
| }, | |
| { | |
| label: 'Option C', | |
| value: 'C', | |
| }, | |
| { | |
| label: 'Option D', | |
| value: 'D', | |
| }, | |
| { | |
| label: 'Option E', | |
| value: 'E', | |
| }, | |
| { | |
| label: 'Option F', | |
| value: 'F', | |
| }, | |
| { | |
| label: 'Option G', | |
| value: 'G', | |
| }, | |
| { | |
| label: 'Option H', | |
| value: 'H', | |
| }, | |
| { | |
| label: 'Option I', | |
| value: 'I', | |
| }, | |
| ], | |
| }} | |
| controls={[ | |
| { | |
| name: 'mode', | |
| label: 'Mode', | |
| type: 'inline-radio', | |
| options: ['single', 'multiple'], | |
| description: 'Whether to allow selection of a single option or multiple.', | |
| }, | |
| { | |
| name: 'placeholder', | |
| label: 'Placeholder', | |
| type: 'text', | |
| description: 'Placeholder text when no option is selected.', | |
| }, | |
| { | |
| name: 'showSearch', | |
| label: 'Show Search', | |
| type: 'boolean', | |
| description: 'Whether to show a search input for filtering.', | |
| }, | |
| { | |
| name: 'allowNewOptions', | |
| label: 'Allow New Options', | |
| type: 'boolean', | |
| description: | |
| 'Whether users can create new options by typing a value not in the list.', | |
| }, | |
| { | |
| name: 'allowClear', | |
| label: 'Allow Clear', | |
| type: 'boolean', | |
| description: 'Whether to show a clear button to reset the selection.', | |
| }, | |
| { | |
| name: 'allowSelectAll', | |
| label: 'Allow Select All', | |
| type: 'boolean', | |
| description: 'Whether to show a "Select All" option in multiple mode.', | |
| }, | |
| { | |
| name: 'disabled', | |
| label: 'Disabled', | |
| type: 'boolean', | |
| description: 'Whether the select is disabled.', | |
| }, | |
| { | |
| name: 'invertSelection', | |
| label: 'Invert Selection', | |
| type: 'boolean', | |
| description: | |
| 'Shows a stop icon instead of a checkmark on selected options, indicating deselection on click.', | |
| }, | |
| { | |
| name: 'oneLine', | |
| label: 'One Line', | |
| type: 'boolean', | |
| description: | |
| 'Forces tags onto one line with overflow count. Requires multiple mode.', | |
| }, | |
| { | |
| name: 'maxTagCount', | |
| label: 'Max Tag Count', | |
| type: 'number', | |
| description: | |
| 'Maximum number of tags to display in multiple mode before showing an overflow count.', | |
| }, | |
| ]} | |
| /> | |
| ## Try It | |
| Edit the code below to experiment with the component: | |
| ```tsx live | |
| function Demo() { | |
| return ( | |
| <div style={{ width: 300 }}> | |
| <Select | |
| ariaLabel="demo-select" | |
| options={[ | |
| { label: 'Dashboards', value: 'dashboards' }, | |
| { label: 'Charts', value: 'charts' }, | |
| { label: 'Datasets', value: 'datasets' }, | |
| { label: 'SQL Lab', value: 'sqllab' }, | |
| { label: 'Settings', value: 'settings' }, | |
| ]} | |
| placeholder="Select ..." | |
| showSearch | |
| /> | |
| </div> | |
| ); | |
| } | |
| ``` | |
| ## Multi Select | |
| ```tsx live | |
| function MultiSelectDemo() { | |
| return ( | |
| <div style={{ width: 400 }}> | |
| <Select | |
| ariaLabel="multi-select" | |
| mode="multiple" | |
| options={[ | |
| { label: 'Dashboards', value: 'dashboards' }, | |
| { label: 'Charts', value: 'charts' }, | |
| { label: 'Datasets', value: 'datasets' }, | |
| { label: 'SQL Lab', value: 'sqllab' }, | |
| { label: 'Settings', value: 'settings' }, | |
| ]} | |
| placeholder="Select items..." | |
| allowSelectAll | |
| maxTagCount={3} | |
| /> | |
| </div> | |
| ); | |
| } | |
| ``` | |
| ## Allow New Options | |
| ```tsx live | |
| function AllowNewDemo() { | |
| return ( | |
| <div style={{ width: 300 }}> | |
| <Select | |
| ariaLabel="allow-new-select" | |
| mode="multiple" | |
| options={[ | |
| { label: 'Red', value: 'red' }, | |
| { label: 'Green', value: 'green' }, | |
| { label: 'Blue', value: 'blue' }, | |
| ]} | |
| placeholder="Type to add tags..." | |
| allowNewOptions | |
| showSearch | |
| /> | |
| </div> | |
| ); | |
| } | |
| ``` | |
| ## Inverted Selection | |
| ```tsx live | |
| function InvertedDemo() { | |
| return ( | |
| <div style={{ width: 400 }}> | |
| <Select | |
| ariaLabel="inverted-select" | |
| mode="multiple" | |
| options={[ | |
| { label: 'Admin', value: 'admin' }, | |
| { label: 'Editor', value: 'editor' }, | |
| { label: 'Viewer', value: 'viewer' }, | |
| { label: 'Public', value: 'public' }, | |
| ]} | |
| placeholder="Exclude roles..." | |
| invertSelection | |
| /> | |
| </div> | |
| ); | |
| } | |
| ``` | |
| ## One Line Mode | |
| ```tsx live | |
| function OneLineDemo() { | |
| return ( | |
| <div style={{ width: 300 }}> | |
| <Select | |
| ariaLabel="oneline-select" | |
| mode="multiple" | |
| options={[ | |
| { label: 'Dashboard 1', value: 'd1' }, | |
| { label: 'Dashboard 2', value: 'd2' }, | |
| { label: 'Dashboard 3', value: 'd3' }, | |
| { label: 'Dashboard 4', value: 'd4' }, | |
| { label: 'Dashboard 5', value: 'd5' }, | |
| ]} | |
| placeholder="Select dashboards..." | |
| oneLine | |
| /> | |
| </div> | |
| ); | |
| } | |
| ``` | |
| ## Props | |
| | Prop | Type | Default | Description | | |
| | ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- | | |
| | `mode` | `string` | `"single"` | Whether to allow selection of a single option or multiple. | | |
| | `placeholder` | `string` | `"Select ..."` | Placeholder text when no option is selected. | | |
| | `showSearch` | `boolean` | `true` | Whether to show a search input for filtering. | | |
| | `allowNewOptions` | `boolean` | `false` | Whether users can create new options by typing a value not in the list. | | |
| | `allowClear` | `boolean` | `false` | Whether to show a clear button to reset the selection. | | |
| | `allowSelectAll` | `boolean` | `true` | Whether to show a "Select All" option in multiple mode. | | |
| | `disabled` | `boolean` | `false` | Whether the select is disabled. | | |
| | `invertSelection` | `boolean` | `false` | Shows a stop icon instead of a checkmark on selected options, indicating deselection on click. | | |
| | `oneLine` | `boolean` | `false` | Forces tags onto one line with overflow count. Requires multiple mode. | | |
| | `maxTagCount` | `number` | `4` | Maximum number of tags to display in multiple mode before showing an overflow count. | | |
| | `options` | `any` | `[{"label":"Such an incredibly awesome long long label","value":"long-label-1"},{"label":"Another incredibly awesome long long label","value":"long-label-2"},{"label":"Option A","value":"A"},{"label":"Option B","value":"B"},{"label":"Option C","value":"C"},{"label":"Option D","value":"D"},{"label":"Option E","value":"E"},{"label":"Option F","value":"F"},{"label":"Option G","value":"G"},{"label":"Option H","value":"H"},{"label":"Option I","value":"I"}]` | - | | |
| ## Import | |
| ```tsx | |
| import { Select } from '@superset-ui/core/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/Select/Select.stories.tsx). | |
| ::: | |