Skip to content

SChoice <s-choice> ​

Eine Option innerhalb einer Auswahlliste. SChoice ist ein typisierter Vue-3-Wrapper für die Shopify Polaris Web Component <s-choice>.

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

Beispiel ​

<SChoice> doesn't render on its own — it's an individual choice within an <SChoiceList>. Its value prop is what feeds the parent's values array (bound via v-model), and its default slot is the choice label.

EmailSMSPush notification

Selected: (none)

vue
<script setup>
import { ref } from 'vue'
import { SChoiceList, SChoice } from 'polaris-vue-elements'

const value = ref([])
</script>

<template>
  <SChoiceList label="Notify me by" multiple v-model="value">
    <!-- Each SChoice's `value` is collected into SChoiceList's v-model array -->
    <SChoice value="email">Email</SChoice>
    <SChoice value="sms">SMS</SChoice>
    <SChoice value="push">Push notification</SChoice>
  </SChoiceList>
  <p>Selected: {{ value.join(', ') }}</p>
</template>

Props ​

PropTypBeschreibung
accessibilityLabelstringEin Label für Nutzer assistiver Technologien wie Screenreader. Wenn gesetzt, werden Kindelemente oder ein angegebenes label nicht vorgelesen. Damit lässt sich auch ein Control ohne sichtbares Label anzeigen, das Screenreader-Nutzern dennoch Kontext bietet.
defaultSelectedbooleanOb das Steuerelement standardmäßig aktiv ist.
disabledbooleanDeaktiviert das Control und verhindert jegliche Interaktion.
selectedbooleanOb das Steuerelement aktiv ist.
valuestringDer in den Formulardaten verwendete Wert, wenn das Steuerelement aktiviert ist.

Slots ​

SlotBeschreibung
defaultDie Beschriftung, die diese auswählbare Option für Benutzer kennzeichnet. Die Beschriftung entsteht durch Extrahieren und Verketten der Textknoten des übergebenen Inhalts; Markup und Elementstruktur werden ignoriert.
detailsZusätzlicher Text, der Kontext oder Hilfestellung zum Input bietet. Dieser Text wird zusammen mit dem Input und seinem Label angezeigt, um dem Nutzer weitere Informationen oder Anweisungen zu geben.
secondary-contentZusätzlicher Inhalt unterhalb des Labels der Auswahloption. Kann reichhaltige Inhalte wie TextFields, Buttons oder andere interaktive Komponenten enthalten. Event-Handler an React-Komponenten bleiben erhalten.

Veröffentlicht unter der MIT-Lizenz. Vue-Logo von Evan You, CC BY-NC-SA 4.0.