Skip to content

SSwitch <s-switch> ​

Ein Umschalter, der eine Einstellung ein- oder ausschaltet. SSwitch ist ein typisierter Vue-3-Wrapper für die Shopify Polaris Web Component <s-switch>.

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

Best Practices ​

  • Switches nicht mit einem Speichern-Button kombinieren. Ein Switch wirkt sofort beim Umschalten. Ein zusätzlicher Speichern-Button lässt Händler im Unklaren, wann ihre Änderung tatsächlich greift.
  • Die Einstellung offensichtlich machen. Schreiben Sie ein label, das Händlern sagt, was der Switch steuert und was Ein und Aus bedeuten, damit sie ihn nicht erst umlegen müssen, um es herauszufinden.
  • Die Folgen beschreiben. Erklären Sie mit details, was sich beim Umschalten ändert, besonders bei Einstellungen, die wichtige Funktionen oder Daten betreffen, damit Händler sicher entscheiden können.
  • Zusammengehörige Switches gruppieren und ordnen. Hat eine Seite mehrere Switches, halten Sie zusammengehörige Einstellungen in logischer Reihenfolge beieinander, damit Händler sie leicht finden und konfigurieren können.
  • Erklären, warum ein Switch nicht verfügbar ist. Ist ein Switch wegen Berechtigungen, Abhängigkeiten oder Tarifgrenzen disabled, sagen Sie Händlern, warum, ob es vorübergehend ist und was sie tun müssen, um ihn freizuschalten.
vue
<SSwitch label="Send order confirmation emails" details="Customers get an email as soon as they place an order." />

Die vollständigen Richtlinien finden sich in Shopifys Best Practices für <s-switch> (auf Englisch).

Beispiel ​

On: false

vue
<script setup>
import { ref } from 'vue'
import { SSwitch } from 'polaris-vue-elements'

const value = ref(false)
</script>

<template>
  <SSwitch label="Enable notifications" v-model="value" />
  <p>On: {{ value }}</p>
</template>

v-model ​

v-model auf <SSwitch> bindet die Property checked und lauscht auf das DOM-Event change.

template
<SSwitch v-model="value" />

entspricht:

template
<SSwitch :checked="value" @change="value = $event.target.checked" />

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.
checkedbooleanOb das Steuerelement aktiv ist.
defaultCheckedbooleanOb das Steuerelement standardmäßig aktiv ist.
detailsanyZusätzlicher Text, der Kontext oder Hilfestellung zum Feld bietet. Dieser Text wird zusammen mit dem Feld und seinem Label angezeigt, um dem Nutzer weitere Informationen oder Anweisungen zu geben. Er wird auch Screenreader-Nutzern zugänglich gemacht.
disabledbooleanDeaktiviert das Control und verhindert jegliche Interaktion.
erroranyZeigt dem Nutzer einen Fehler an. Das Feld erhält eine besondere Gestaltung, um Probleme zu kennzeichnen, die sofort behoben werden müssen.
labelanyVisueller Inhalt, der als Beschriftung des Steuerelements verwendet wird.
labelAccessibilityVisibility"visible" | "exclusive"Ändert die Sichtbarkeit des Labels der Komponente. - visible: Das Label ist für alle Nutzer sichtbar. - exclusive: Das Label ist visuell ausgeblendet, bleibt aber im Accessibility Tree.
namestringEine Kennung für das Control, die innerhalb der nächsten umschließenden Form-Komponente eindeutig ist.
requiredbooleanOb das Feld einen Wert benötigt. Diese Anforderung verleiht dem Feld semantische Bedeutung, führt aber nicht automatisch zur Anzeige eines Fehlers. Wenn ein Fehler angezeigt werden soll, sobald dieses Feld leer ist, verwenden Sie dafür die Eigenschaft error.
valuestringDer in den Formulardaten verwendete Wert, wenn das Steuerelement aktiviert ist.

Events ​

EventTyp
blurFocusEvent
changeEvent
inputEvent

Auf diese Events lauschen Sie mit Listenern im Stil von @blur auf <SSwitch>.

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