Skip to content

SUrlField <s-url-field> ​

Un champ de texte pour les adresses web. SUrlField est le wrapper Vue 3 typé du web component <s-url-field> de Shopify Polaris.

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

Bonnes pratiques ​

  • Validez les URL vous-même. La validation d'URL intégrée au navigateur est minimale et varie selon les navigateurs : ajoutez vos propres vérifications de structure, de protocoles autorisés et des formats acceptés dans votre cas d'usage.
  • Montrez le format attendu. Indiquez aux marchands s'ils doivent inclure un protocole, quels protocoles sont autorisés et quel type d'URL vous attendez. Un exemple d'URL complète dans le placeholder rend cela clair.
  • Décidez comment gérer un protocole manquant. Les marchands omettent souvent https://. Choisissez de l'ajouter pour eux, d'accepter les URL sans protocole ou d'afficher une error qui explique ce qui manque.
  • Choisissez des limites de longueur selon l'usage de l'URL. Les navigateurs et les serveurs acceptent des longueurs maximales différentes : définissez maxLength selon la destination de l'URL plutôt qu'un nombre arbitraire, et mentionnez la limite lorsqu'elle compte.
  • Expliquez à quoi sert l'URL. Utilisez label et details pour clarifier son rôle, car une URL d'image produit, un lien vers un profil social et une référence externe demandent chacun quelque chose de différent.
vue
<SUrlField label="Product image URL" placeholder="https://example.com/images/product.jpg" details="Link directly to a JPG or PNG file." />

Consultez les bonnes pratiques de Shopify pour <s-url-field> (en anglais) pour l'ensemble des recommandations.

Exemple ​

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 sur <SUrlField> est lié à la propriété value et écoute l'event DOM input.

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

équivaut à :

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

Props ​

PropTypeDescription
autocomplete"photo" | "url" | "impp" | "home impp" | "mobile impp" | "fax impp" | "pager impp" | "on" … (15 more)Une indication sur le contenu attendu du champ. Lorsqu'elle vaut on (valeur par défaut), cette propriété indique que le champ doit prendre en charge le remplissage automatique, sans autre information sémantique sur le contenu attendu. Lorsqu'elle vaut off, vous indiquez que ce champ contient des informations sensibles ou des contenus jamais enregistrés, comme des codes à usage unique. Vous pouvez aussi fournir une valeur décrivant précisément les données que vous souhaitez voir saisies dans ce champ lors du remplissage automatique.
defaultValuestringLa valeur par défaut du champ.
detailsanyTexte supplémentaire apportant du contexte ou des indications pour le champ. Ce texte est affiché avec le champ et son libellé afin de fournir davantage d'informations ou d'instructions à l'utilisateur. Il est également exposé aux utilisateurs de lecteurs d'écran.
disabledbooleanDésactive le champ, empêchant toute interaction.
erroranySignale une erreur à l'utilisateur. Le champ reçoit un traitement visuel spécifique pour signaler des problèmes à résoudre immédiatement.
idstringUn identifiant unique pour l'élément.
labelanyContenu à utiliser comme libellé du champ.
labelAccessibilityVisibility"visible" | "exclusive"Modifie la visibilité du libellé du composant. - visible : le libellé est visible par tous les utilisateurs. - exclusive : le libellé est masqué visuellement mais reste dans l'arbre d'accessibilité.
maxLengthnumberIndique le nombre maximal de caractères autorisés.
minLengthnumberIndique le nombre minimal de caractères autorisés.
namestringUn identifiant du champ, unique au sein du formulaire parent le plus proche.
placeholderstringUne courte indication décrivant la valeur attendue du champ.
readOnlybooleanLe champ ne peut pas être modifié par l'utilisateur. Il reste focalisable et est annoncé par les lecteurs d'écran.
requiredbooleanIndique si le champ exige une valeur. Cette exigence ajoute une valeur sémantique au champ, mais n'affiche pas automatiquement d'erreur. Pour afficher une erreur lorsque ce champ est vide, utilisez la propriété error.
valuestringLa valeur actuelle du champ. Si elle est omise, le champ sera vide.

Certaines colonnes de type ci-dessus sont tronquées pour plus de lisibilité ; l'union complète est disponible dans les types TypeScript générés de la bibliothèque (src/lib/generated/types.ts).

Events ​

EventType
blurFocusEvent
changeEvent
focusFocusEvent
inputEvent

Écoutez-les avec des listeners de la forme @blur sur <SUrlField>.

Slots ​

SlotDescription
details
error

Publié sous licence MIT. Logo Vue par Evan You, CC BY-NC-SA 4.0.