SSearchField <s-search-field>
Un champ de texte pour les requêtes de recherche. SSearchField est le wrapper Vue 3 typé du web component <s-search-field> de Shopify Polaris.
ts
import { SSearchField } from 'polaris-vue-elements'Bonnes pratiques
- Utilisez-le pour filtrer sur place. Il convient pour affiner le contenu d'une section ou d'une liste précise. La navigation globale ou les recherches complexes en plusieurs étapes demandent un modèle de recherche plus robuste.
- Indiquez ce qui est recherché. Rédigez un
labelet unplaceholderprécis qui indiquent aux marchands le contenu couvert par la recherche et les attributs sur lesquels ils peuvent chercher. - Réagissez pendant la saisie. Lorsque c'est possible, mettez à jour les résultats ou le contenu filtré pendant que les marchands tapent, pour qu'ils puissent affiner leur requête et avoir confiance dans le fonctionnement de la recherche.
- Prévoyez les recherches effacées et sans résultat. Lorsque le champ est vidé, réaffichez la liste complète. Lorsque rien ne correspond, affichez un message qui suggère une autre action ou une recherche plus large.
- Attendez une saisie suffisante. Évitez de lancer des recherches qui renverraient trop de résultats ou des résultats sans intérêt ; commencer après deux ou trois caractères suffit pour renvoyer des correspondances utiles.
vue
<SSearchField label="Search products" placeholder="Search by title, SKU or vendor" />Consultez les bonnes pratiques de Shopify pour <s-search-field> (en anglais) pour l'ensemble des recommandations.
Exemple
Value: (empty)
vue
<script setup>
import { ref } from 'vue'
import { SSearchField } from 'polaris-vue-elements'
const value = ref('')
</script>
<template>
<SSearchField label="Search products" placeholder="Search" v-model="value" />
<p>Value: {{ value }}</p>
</template>v-model
v-model sur <SSearchField> est lié à la propriété value et écoute l'event DOM input.
template
<SSearchField v-model="value" />équivaut à :
template
<SSearchField :value="value" @input="value = $event.target.value" />Props
| Prop | Type | Description |
|---|---|---|
autocomplete | "language" | "organization" | "name" | "additional-name" | "address-level1" | "address-level2" | "address-level3" | "address-level4" … (84 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. |
defaultValue | string | La valeur par défaut du champ. |
details | any | Texte 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. |
disabled | boolean | Désactive le champ, empêchant toute interaction. |
error | any | Signale une erreur à l'utilisateur. Le champ reçoit un traitement visuel spécifique pour signaler des problèmes à résoudre immédiatement. |
id | string | Un identifiant unique pour l'élément. |
label | any | Contenu à 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é. |
maxLength | number | Indique le nombre maximal de caractères autorisés. |
minLength | number | Indique le nombre minimal de caractères autorisés. |
name | string | Un identifiant du champ, unique au sein du formulaire parent le plus proche. |
placeholder | string | Une courte indication décrivant la valeur attendue du champ. |
readOnly | boolean | Le champ ne peut pas être modifié par l'utilisateur. Il reste focalisable et est annoncé par les lecteurs d'écran. |
required | boolean | Indique 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. |
value | string | La 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
| Event | Type |
|---|---|
blur | FocusEvent |
change | Event |
focus | FocusEvent |
input | Event |
Écoutez-les avec des listeners de la forme @blur sur <SSearchField>.
Slots
| Slot | Description |
|---|---|
details | |
error |