Skip to content

SMoneyField <s-money-field> ​

Ein numerisches Eingabefeld für Geldbeträge. SMoneyField ist ein typisierter Vue-3-Wrapper für die Shopify Polaris Web Component <s-money-field>.

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

Best Practices ​

  • min und max auf realistische Grenzen setzen. Ein Produktpreis kann zum Beispiel ein min von 0.01 haben, damit er nicht null sein kann, ein Rabatt kann von 0 bis zur Bestellsumme reichen, und eine Erstattung kann auf den gezahlten Betrag begrenzt werden. Prüfen Sie Werte außerdem immer gegen Ihre Geschäftsregeln.
  • Die genaue Grenze in error nennen. Statt „Invalid amount“ sagen Sie etwa „Price must be at least $0.01“, damit Händler wissen, gegen welche Einschränkung sie verstoßen haben.
  • Währungssymbole aus label und placeholder heraushalten. Ein „$“ oder Ähnliches kann mit der Währungsformatierung kollidieren, die das Feld bereits übernimmt.
  • Den Betrag nach seinem Zweck benennen. „Product base price“ oder „Discount amount“ sagt Händlern mehr als „Amount“ oder „Price“.
  • value beim Bearbeiten vorbelegen. Zeigen Sie bei bestehenden Werten den aktuellen Betrag; erwägen Sie bei neuen Einträgen einen sinnvollen Standardwert wie 0.00 oder einen typischen Preis.
vue
<SMoneyField label="Product base price" :min="0.01" />

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

Beispiel ​

Value: (empty)

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

const value = ref('')
</script>

<template>
  <SMoneyField label="Price" currencyCode="USD" placeholder="0.00" v-model="value" />
  <p>Value: {{ value }}</p>
</template>

v-model ​

v-model auf <SMoneyField> bindet die Property value und lauscht auf das DOM-Event input.

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

entspricht:

template
<SMoneyField :value="value" @input="value = $event.target.value" />

Props ​

PropTypBeschreibung
autocompletestringEin Hinweis auf den vorgesehenen Inhalt des Felds. Bei on (Standard) gibt diese Eigenschaft an, dass das Feld Autofill unterstützen soll, ohne dass weitere semantische Informationen zum vorgesehenen Inhalt vorliegen. Mit off wird angegeben, dass das Feld sensible Informationen oder Inhalte enthält, die nie gespeichert werden, etwa Einmalcodes. Alternativ kann ein Wert angegeben werden, der die konkreten Daten beschreibt, die beim Autofill in dieses Feld eingetragen werden sollen.
currencyCode"auto" | "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" … (154 more)Der Währungscode des Feldes. Bei 'auto' zeigt das Feld den Währungscode des Shops an. Ist für den Shop kein Währungscode festgelegt, wird 'XXX' als expliziter Nicht-Wert verwendet. Dieser Wert entspricht dem globalen Währungscode des Shops; wenn Sie den Währungscode des Feldes benötigen, können Sie den Wert also aus diesen APIs auslesen.
defaultValuestringDer Standardwert des Feldes.
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 Feld 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.
idstringEine eindeutige Kennung für das Element.
labelanyInhalt, der als Label des Felds 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.
maxnumberDie höchste Dezimal- oder Ganzzahl, die für das Feld akzeptiert wird. In Verbindung mit step wird der Wert auf die Maximalzahl abgerundet. Hinweis: Benutzer können über die Tastatur weiterhin eine Zahl größer als das Maximum eingeben. Eine geeignete Validierung muss die Entwicklerin bzw. der Entwickler selbst ergänzen.
minnumberDie niedrigste Dezimal- oder Ganzzahl, die für das Feld akzeptiert wird. In Verbindung mit step wird der Wert auf die Minimalzahl aufgerundet. Hinweis: Benutzer können über die Tastatur weiterhin eine Zahl kleiner als das Minimum eingeben. Eine geeignete Validierung muss die Entwicklerin bzw. der Entwickler selbst ergänzen.
namestringEine Kennung für das Feld, die innerhalb des nächsten umschließenden Formulars eindeutig ist.
placeholderstringEin kurzer Hinweis, der den erwarteten Wert des Felds beschreibt.
readOnlybooleanDas Feld kann vom Benutzer nicht bearbeitet werden. Es ist fokussierbar und wird von Screenreadern angesagt.
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.
valuestring

Einige Typspalten oben wurden zur besseren Lesbarkeit gekürzt; die vollständigen Unions finden sich in den generierten TypeScript-Typen der Bibliothek (src/lib/generated/types.ts).

Events ​

EventTyp
blurFocusEvent
changeEvent
focusFocusEvent
inputEvent

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

Slots ​

SlotBeschreibung
details
error

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