Skip to content

SUrlField <s-url-field> ​

Ein Texteingabefeld für Webadressen. SUrlField ist ein typisierter Vue-3-Wrapper für die Shopify Polaris Web Component <s-url-field>.

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

Best Practices ​

  • URLs selbst validieren. Die eingebaute URL-Validierung des Browsers ist minimal und unterscheidet sich zwischen Browsern. Ergänzen Sie daher eigene Prüfungen für Struktur, erlaubte Protokolle und die Formate, die Ihr Anwendungsfall akzeptiert.
  • Das erwartete Format zeigen. Sagen Sie Händlern, ob ein Protokoll anzugeben ist, welche Protokolle erlaubt sind und welche Art von URL Sie erwarten. Eine vollständige Beispiel-URL im placeholder macht das deutlich.
  • Festlegen, wie ein fehlendes Protokoll behandelt wird. Händler lassen https:// oft weg. Entscheiden Sie, ob Sie es automatisch ergänzen, URLs ohne Protokoll akzeptieren oder einen error anzeigen, der erklärt, was fehlt.
  • Längenbegrenzungen nach Verwendungsort wählen. Browser und Server unterstützen unterschiedliche Maximallängen. Setzen Sie maxLength daher nach dem Ziel der URL statt nach einer willkürlichen Zahl, und nennen Sie die Grenze, wenn sie relevant ist.
  • Erklären, wofür die URL ist. Machen Sie den Zweck mit label und details klar, denn eine Produktbild-URL, ein Social-Media-Profillink und ein externer Verweis erfordern jeweils etwas anderes.
vue
<SUrlField label="Product image URL" placeholder="https://example.com/images/product.jpg" details="Link directly to a JPG or PNG file." />

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

Beispiel ​

Value: (empty)

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

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

<template>
  <SUrlField label="Website" placeholder="https://example.com" v-model="value" />
  <p>Value: {{ value }}</p>
</template>

v-model ​

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

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

entspricht:

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

Props ​

PropTypBeschreibung
autocomplete"photo" | "url" | "impp" | "home impp" | "mobile impp" | "fax impp" | "pager impp" | "on" … (15 more)Ein 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.
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.
maxLengthnumberGibt die maximal erlaubte Anzahl an Zeichen an.
minLengthnumberGibt die minimal erlaubte Anzahl an Zeichen an.
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.
valuestringDer aktuelle Wert des Feldes. Wird er weggelassen, ist das Feld leer.

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 <SUrlField>.

Slots ​

SlotBeschreibung
details
error

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