Uses two v-model bindings: `v-model:current` for the selected value and `v-model:options` for the available options. Each option is a `value: label` field where value is `string | number`.
_Note that this component currently extends the native HTML `<select>` element and inherits its frustrating shortcomings, especially when it comes to styleing. For future paths, see [this excellent article on css-tricks](https://css-tricks.com/striking-a-balance-between-native-and-custom-select-elements/)_.
Use the `autofocus` prop to focus the select input immediately when the component mounts.
Try it out: Click the `Open modal` button, then use the arrow keys to select an option. Close the modal with `ESC` and re-open it with `SPACE`.
<Layoutflex>
```vue-html
<Buttonprimary @click="isOpen = true">
Open modal
</Button>
<Modalv-model="isOpen"title="My modal">
Modal content
</Modal>
```
<divclass="preview">
<Buttonprimary @click="isOpen = true">
Open modal
</Button>
<Modalv-model="isOpen">
<Select
autofocus
v-model:current="current"
v-model:options="options"
/>
</Modal>
</div>
</Layout>
## Colors and variants
The Select component supports standard color and variant props from [the color composable](../../using-color) including `primary`, `secondary`, `solid`, `ghost`, `outline`, and other styling props.
<Layoutflex>
```vue-html
<Selectv-for ="colorin[
'primary',
'ghost',
'outline',
'green',
'destructive',
'raised'
]"
v-bind="{[color]: true}"
v-model:current="current"
v-model:options="options"
/>
```
<Layoutstackgap-8class="preview">
<Selectv-for ="color in ['primary', 'ghost', 'outline', 'green', 'destructive', 'raised']"