Skip to content

SBanner <s-banner> ​

Un message bien visible qui met en avant des informations importantes, des avertissements ou des erreurs en haut d'une page ou d'une section. SBanner est le wrapper Vue 3 typé du web component <s-banner> de Shopify Polaris.

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

Bonnes pratiques ​

  • Un seul sujet par bannière. Chaque bannière doit porter un seul message ou une seule action requise, pour que les marchands ne se demandent pas de quoi il s'agit.
  • Écrivez pour une lecture rapide. Gardez un texte assez court pour que les marchands saisissent le message et la marche à suivre d'un seul coup d'œil.
  • Indiquez aux marchands l'étape suivante. Les bannières avec tone="info", tone="warning" ou tone="critical" doivent inclure un appel à l'action qui précise comment procéder.
  • Laissez les marchands fermer les bannières. Définissez dismissible, sauf si le message exige une action immédiate, et évitez les bannières qui restent à l'écran sans aucun moyen de les fermer.
  • Placez les bannières selon leur portée. Mettez une bannière en dehors de toute section pour un message qui concerne la page entière, ou à l'intérieur d'une section lorsqu'il porte sur le contenu de cette section.
vue
<SBanner heading="Shipping rates need updating" tone="warning" dismissible>
  Some of your shipping zones have no rates, so customers there can't check out.
  <template #secondary-actions>
    <SButton variant="secondary">Review shipping zones</SButton>
  </template>
</SBanner>

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

Exemple ​

Your changes have been saved.We couldn't process the payment. Please try again.Retry
vue
<script setup>
import { ref } from 'vue'
import { SBanner, SButton, SText } from 'polaris-vue-elements'

const showCritical = ref(true)
</script>

<template>
  <!-- SBanner needs default-slot content — a `heading` alone renders an empty
       banner. See docs/guide/quirks.md. -->
  <SBanner heading="Order updated" tone="success">
    <SText>Your changes have been saved.</SText>
  </SBanner>

  <!-- dismissible banners fire `dismiss` immediately, then `afterhide` once any
       animation completes; drive `hidden` (or v-if, as here) from that event. -->
  <SBanner
    v-if="showCritical"
    heading="Something went wrong"
    tone="critical"
    dismissible
    @dismiss="showCritical = false"
  >
    <SText>We couldn't process the payment. Please try again.</SText>
    <template #secondary-actions>
      <SButton variant="secondary">Retry</SButton>
    </template>
  </SBanner>
</template>

Props ​

PropTypeDescription
dismissiblebooleanIndique si la bannière affiche un bouton de fermeture permettant aux utilisateurs de la masquer. Lorsque le bouton de fermeture est pressé, l'événement dismiss est déclenché, puis hidden passe à true, l'éventuelle animation se termine et l'événement afterhide est déclenché.
headingstringLe texte du titre affiché en haut de la bannière.
hiddenbooleanContrôle si la bannière est visible ou masquée. Avec un composant contrôlé et une bannière dismissible, passez cette propriété à true lorsque l'événement dismiss est déclenché. Vous pouvez masquer la bannière par programmation en la définissant à true, même si elle n'est pas dismissible.
tone"auto" | "info" | "success" | "warning" | "critical"La signification sémantique et le traitement des couleurs du composant. - info : contenu informatif ou conseils utiles. - success : résultats positifs ou états de réussite. - warning : avertissements importants sur des problèmes potentiels. - critical : problèmes urgents ou actions destructrices. - auto : déterminé automatiquement selon le contexte.

Events ​

EventType
afterhideCustomEvent
dismissCustomEvent

Écoutez-les avec des listeners de la forme @afterhide sur <SBanner>.

Slots ​

SlotDescription
defaultLe contenu du message principal affiché dans le composant banner, qui fournit des informations ou des indications importantes aux utilisateurs.
secondary-actionsBoutons d'action affichés en bas de la bannière, permettant aux utilisateurs de répondre au message. Accepte jusqu'à deux composants bouton avec variant="secondary" ou variant="auto".

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