Skip to content

SDropZone <s-drop-zone> ​

Une zone d'import de fichiers qui accepte les fichiers par glisser-déposer ou via un sélecteur de fichiers. SDropZone est le wrapper Vue 3 typé du web component <s-drop-zone> de Shopify Polaris.

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

Bonnes pratiques ​

  • Indiquez les limites de fichiers avec accept. Définissez des restrictions claires sur les types de fichiers acceptés par la zone de dépôt.
  • Gérez droprejected avec un message utile. Lorsqu'un fichier échoue à la validation, écoutez l'événement et expliquez aux marchands ce qui s'est mal passé.
  • Envisagez disabled pendant le traitement. Désactiver la zone de dépôt pendant un téléversement empêche les marchands d'ajouter d'autres fichiers entre-temps.
vue
<SDropZone label="Product images" accept="image/*" />

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

Exemple ​

Value: (empty)

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

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

<template>
  <SDropZone label="Upload a file" accept="image/*" v-model="value" />
  <p>Value: {{ value }}</p>
</template>

v-model ​

v-model sur <SDropZone> est lié à la propriété value et écoute l'event DOM input.

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

équivaut à :

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

Props ​

PropTypeDescription
acceptstringUne chaîne représentant les types de fichiers acceptés par la zone de dépôt. Cette chaîne est une liste, séparée par des virgules, de spécificateurs de type de fichier uniques, chacun pouvant être : - Une extension de fichier commençant par un point (".") (p. ex. .jpg, .pdf, .doc) - Une chaîne de type MIME valide, sans extension Si elle est omise, tous les types de fichiers sont acceptés.
accessibilityLabelstringUn libellé qui décrit l'objectif ou le contenu de l'élément. Lorsqu'il est défini, il est annoncé aux acheteurs utilisant des technologies d'assistance et leur apporte davantage de contexte.
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.
filesreadonly File[]Un tableau d'objets File représentant les fichiers actuellement sélectionnés par l'utilisateur. Cette propriété est en lecture seule et ne peut pas être modifiée directement. Pour effacer les fichiers sélectionnés, définissez la prop value sur une chaîne vide ou null.
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é.
multiplebooleanIndique si plusieurs fichiers peuvent être sélectionnés ou déposés à la fois.
namestringUn identifiant du champ, unique au sein du formulaire parent le plus proche.
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.
valuestringUne chaîne qui représente le chemin du ou des fichiers sélectionnés. Si aucun fichier n'est encore sélectionné, la valeur est une chaîne vide (""). Lorsque l'utilisateur a sélectionné plusieurs fichiers, la valeur représente le premier fichier de la liste sélectionnée. La valeur est toujours le nom du fichier précédé de "C:\fakepath", qui n'est pas le chemin réel du fichier.

Events ​

EventType
changeEvent
droprejectedCustomEvent
inputEvent

Écoutez-les avec des listeners de la forme @change sur <SDropZone>.

Slots ​

SlotDescription
defaultLe contenu à inclure dans le conteneur de la zone de dépôt

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