SSelect <s-select>
ts
import { SSelect } from 'polaris-vue-elements'Example
Value: (none)
vue
<script setup>
import { ref } from 'vue'
import { SSelect, SOption, SOptionGroup } from 'polaris-vue-elements'
const value = ref('')
</script>
<template>
<SSelect label="Shipping region" placeholder="Select a region" v-model="value">
<SOptionGroup label="North America">
<SOption value="us">United States</SOption>
<SOption value="ca">Canada</SOption>
</SOptionGroup>
<SOptionGroup label="Europe">
<SOption value="fr">France</SOption>
<SOption value="de">Germany</SOption>
</SOptionGroup>
</SSelect>
<p>Value: {{ value }}</p>
</template>v-model
v-model on <SSelect> binds to the value property and listens for the change DOM event.
template
<SSelect v-model="value" />is equivalent to:
template
<SSelect :value="value" @change="value = $event.target.value" />Props
| Prop | Type | Description |
|---|---|---|
details | any | Additional text to provide context or guidance for the field. This text is displayed along with the field and its label to offer more information or instructions to the user. This will also be exposed to screen reader users. |
disabled | boolean | Disables the field, disallowing any interaction. |
error | any | Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately. |
icon | "color" | "info" | "adjust" | "affiliate" | "airplane" | "alert-bubble" | "alert-circle" | "alert-diamond" … (510 more) | The type of icon to be displayed in the field. |
id | string | A unique identifier for the element. |
label | any | Content to use as the field label. |
labelAccessibilityVisibility | "visible" | "exclusive" | Changes the visibility of the component's label. - visible: the label is visible to all users. - exclusive: the label is visually hidden but remains in the accessibility tree. |
name | string | An identifier for the field that is unique within the nearest containing form. |
placeholder | string | A short hint that describes the expected value of the field. |
required | boolean | Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the error property. |
value | string |
Some type columns above are truncated for readability; the full union is available in the library's generated TypeScript types (
src/lib/generated/types.ts).
Events
| Event | Type |
|---|---|
blur | CustomEvent |
change | CustomEvent |
focus | CustomEvent |
input | CustomEvent |
Listen for these with @blur-style listeners on <SSelect>.
Slots
| Slot | Description |
|---|---|
default | The options a user can select from. Accepts Option and OptionGroup components. |
details | |
error |