Files
webawesome/docs/components/select.md

122 lines
3.5 KiB
Markdown
Raw Normal View History

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">
<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>
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>
```
### 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.
```html preview
2020-06-16 07:41:26 -04:00
<sl-select placeholder="Select a few" 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-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-07-12 09:42:25 -04:00
Use the `size` attribute to change a select's size.
```html preview
2020-06-16 09:40:43 -04:00
<sl-select placeholder="Small" size="small" 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-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>
<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-16 09:40:43 -04:00
<sl-select placeholder="Large" size="large" 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
```
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-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>
<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>
</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]