Skip to content

SSelect <s-select>

ts
import { SSelect } from 'polaris-vue-elements'

Example

United StatesCanadaFranceGermany

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

PropTypeDescription
detailsanyAdditional 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.
disabledbooleanDisables the field, disallowing any interaction.
erroranyIndicate 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.
idstringA unique identifier for the element.
labelanyContent 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.
namestringAn identifier for the field that is unique within the nearest containing form.
placeholderstringA short hint that describes the expected value of the field.
requiredbooleanWhether 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.
valuestring

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

EventType
blurCustomEvent
changeCustomEvent
focusCustomEvent
inputCustomEvent

Listen for these with @blur-style listeners on <SSelect>.

Slots

SlotDescription
defaultThe options a user can select from. Accepts Option and OptionGroup components.
details
error