2020-06-12 07:04:14 -04:00
|
|
|
# Select
|
|
|
|
|
|
|
|
|
|
[component-header:sl-select]
|
|
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
Selects allow you to choose one or more items from a dropdown menu.
|
2020-06-12 07:04:14 -04:00
|
|
|
|
|
|
|
|
```html preview
|
2020-06-16 09:40:43 -04:00
|
|
|
<sl-select placeholder="Select one">
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
2020-06-12 10:14:40 -04:00
|
|
|
<sl-menu-divider></sl-menu-divider>
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-4">Option 4</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-5">Option 5</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-6">Option 6</sl-menu-item>
|
2020-06-12 07:04:14 -04:00
|
|
|
</sl-select>
|
|
|
|
|
```
|
|
|
|
|
|
2020-07-12 07:42:22 -04:00
|
|
|
?> This component doesn't work with standard forms. Use [`<sl-form>`](/components/form.md) instead.
|
|
|
|
|
|
2020-06-12 07:04:14 -04:00
|
|
|
## Examples
|
|
|
|
|
|
2020-07-02 08:10:40 -04:00
|
|
|
### Labels
|
|
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
Use the `label` attribute to give the select an accessible label.
|
|
|
|
|
|
2020-07-02 08:10:40 -04:00
|
|
|
```html preview
|
|
|
|
|
<sl-select label="Select one">
|
|
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
</sl-select>
|
|
|
|
|
```
|
|
|
|
|
|
2020-06-15 16:26:19 -04:00
|
|
|
### Multiple
|
2020-06-12 07:04:14 -04:00
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
To allow multiple options to be selected, use the `multiple` attribute.
|
|
|
|
|
|
2020-06-15 16:26:19 -04:00
|
|
|
```html preview
|
2020-06-16 07:41:26 -04:00
|
|
|
<sl-select placeholder="Select a few" multiple>
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
<sl-menu-divider></sl-menu-divider>
|
|
|
|
|
<sl-menu-item value="option-4">Option 4</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-5">Option 5</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-6">Option 6</sl-menu-item>
|
|
|
|
|
</sl-select>
|
|
|
|
|
```
|
|
|
|
|
|
2020-06-16 09:40:43 -04:00
|
|
|
### Size
|
2020-06-15 16:26:19 -04:00
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
Use the `size` attribute to change a select's size.
|
|
|
|
|
|
2020-06-15 16:26:19 -04:00
|
|
|
```html preview
|
2020-06-16 09:40:43 -04:00
|
|
|
<sl-select placeholder="Small" size="small" multiple>
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
</sl-select>
|
2020-06-12 07:04:14 -04:00
|
|
|
|
2020-07-08 16:44:08 -04:00
|
|
|
<br>
|
2020-06-12 07:04:14 -04:00
|
|
|
|
2020-06-16 09:40:43 -04:00
|
|
|
<sl-select placeholder="Medium" size="medium" multiple>
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
</sl-select>
|
|
|
|
|
|
2020-07-08 16:44:08 -04:00
|
|
|
<br>
|
2020-06-15 16:26:19 -04:00
|
|
|
|
2020-06-16 09:40:43 -04:00
|
|
|
<sl-select placeholder="Large" size="large" multiple>
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
</sl-select>
|
2020-06-16 09:40:43 -04:00
|
|
|
```
|
2020-06-15 16:26:19 -04:00
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
### Pill
|
|
|
|
|
|
|
|
|
|
Use the `pill` prop to give selects rounded edges.
|
|
|
|
|
|
|
|
|
|
```html preview
|
|
|
|
|
<sl-select label="Select one" pill multiple>
|
|
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
</sl-select>
|
|
|
|
|
```
|
|
|
|
|
|
2020-06-16 09:40:43 -04:00
|
|
|
### Groups
|
2020-06-15 16:26:19 -04:00
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
Options can be grouped visually using menu labels and menu dividers.
|
|
|
|
|
|
2020-06-16 09:40:43 -04:00
|
|
|
```html preview
|
|
|
|
|
<sl-select placeholder="Select one">
|
|
|
|
|
<sl-menu-label>Group 1</sl-menu-label>
|
2020-06-15 16:26:19 -04:00
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
2020-06-16 09:40:43 -04:00
|
|
|
<sl-menu-divider></sl-menu-divider>
|
|
|
|
|
<sl-menu-label>Group 2</sl-menu-label>
|
|
|
|
|
<sl-menu-item value="option-4">Option 4</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-5">Option 5</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-6">Option 6</sl-menu-item>
|
2020-06-15 16:26:19 -04:00
|
|
|
</sl-select>
|
|
|
|
|
```
|
2020-06-16 09:40:43 -04:00
|
|
|
|
|
|
|
|
### Disabled
|
|
|
|
|
|
2020-07-12 09:42:25 -04:00
|
|
|
Use the `disabled` prop to disable a select.
|
|
|
|
|
|
2020-06-16 09:40:43 -04:00
|
|
|
```html preview
|
|
|
|
|
<sl-select placeholder="Disabled" disabled>
|
|
|
|
|
<sl-menu-item value="option-1">Option 1</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-2">Option 2</sl-menu-item>
|
|
|
|
|
<sl-menu-item value="option-3">Option 3</sl-menu-item>
|
|
|
|
|
</sl-select>
|
2020-07-02 08:16:06 -04:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
[component-metadata:sl-select]
|